OpenCL for Intel FPGAs

This professional 4 day course focuses on how to write and optimize OpenCL applications for Intel FPGAs. Students will be taught how to achieve high performance by taking advantage of the heterogeneous nature of OpenCL and the massively parallel capabilities of Intel FPGAs. The training is targeted at design teams who work with parallel algorithms and computationally intense applications.

Learn from the best

The courses are taught by Acceleware programmers who bring real world experience into the classroom. To date Acceleware has delivered over 100 courses across four continents, teaching hundreds of programmers how to achieve maximum performance from FPGAs, GPUs and multi-threaded CPUs.

Hands-on exercises

The training comprises of innovative hands-on exercises and a series of progressive lectures. Small class sizes maximize learning and ensure a personal educational experience for each student.

Private on-site courses

In addition to the published class schedule Acceleware offers private on-site courses. We will travel to your location and can tailor the content specifically to your needs.

Key outcomes

This 4 day course is designed to accelerate your development efforts by 4 - 6 months. Key learning objectives include:

  • Mastering the Basics of OpenCL - Data-parallel architectures and the OpenCL programming model
  • Using local and constant memory to improve performance - OpenCL memory model
  • Taking advantage of all system resources in parallel - OpenCL task concurrency and synchronization
  • Debugging OpenCL programs and numerical accuracy
  • Targeting Intel FPGAs with OpenCL - compiling OpenCL kernels to Intel FPGAs
  • Optimizing Intel FPGA kernels for throughput and size trade-offs
  • Using efficient memory access patterns and Intel OpenCL attributes to optimize memory performance - Memory Optimizations

We recommend that the attendees have a background in C/C++ (2 or more years) in order to get the most out of the course. Contact if you would like more information about our OpenCL courses for Intel FPGAs.

Attendees should be familiar with
the following C/C++ concepts:

  • Pointers and pointer to pointers (*, **)
  • Taking the address of a variable (&)
  • Writing functions, for loops,
    if/else statements
  • Printing to standard output (printf, cout)
  • Memory allocation and deallocation
  • Arrays and indexing
  • Structures
  • General debugging

Entirely optional (but helpful) experiences:

  • Multithreading
  • Optimization of programs
  • Low level programming
    (e.g., assembly languages)
  • Familiarity with computer architectures

4 Day Course syllabus

Your course fee includes

  • Use of laptop equipped with Intel OpenCL software
  • Choice of Linux or Windows operating system
  • Electronic manual of all lectures
  • Electronic copy of lab exercises
  • OpenCL quick reference guide
  • Certificate of completion
  • 90 days post training support (conditions apply)