OpenCL for Altera FPGAs

This professional 4 day course focuses on how to write and optimize OpenCL applications for Altera 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 Altera 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 Altera FPGAs with OpenCL - compiling OpenCL kernels to Altera FPGAs
  • Optimizing Altera FPGA kernels for throughput and size trade-offs
  • Using efficient memory access patterns and Altera 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 training@acceleware.com if you would like more information about our OpenCL courses for Altera 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 Altera OpenCL software
  • Choice of Linux or Windows operating system
  • Printed manual of all lectures
  • Electronic copy of lab exercises
  • OpenCL quick reference guide
  • Certificate of completion
  • 90 days post training support (conditions apply)