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 95 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 C/C++ (2 or more years) in order to get the most out of the course. Contact services@acceleware.com if you are interested in a beginner level CUDA courses.
|
Attendees should be familiar with
|
Entirely optional (but helpful) experiences:
|
Course syllabus
Day 1
- Introduction to OpenCL
- Overview of OpenCL software
- Hands-on exercise: buffer allocation and buffer transfers
- Data-parallel architectures and the OpenCL programming model
- Hands-on exercise: simple kernels
Day 2
- OpenCL memory model and work item cooperation
- Hands-on exercise: local and constant memory
- OpenCL task concurrency and synchronization
- Hands-on exercise: asynchronous operations
- Debugging OpenCL programs and numerical accuracy
- Hands-on exercise: debugging
Day 3
- Compiling OpenCL kernels to Altera FPGAs
- Hands-on exercise: compile an OpenCL kernel using aclkc
- Throughput and size trade-offs
- Hands-on exercise: throughput and size trade-offs
- Memory optimizations
- Hands-on exercise: memory optimizations
Day 4
- Case Study
- Hands-on exercise: case study
- OpenCL architectures: compare and contrast
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



