OpenCL: Single-threaded vs. Multi-threaded Kernels (OOPNCLKERN)

17 Minutes Online Course

Course Description

This online training is a discussion of a subtle difference that has a potentially large benefit for OpenCL programmers on FPGA accelerators. The concept of single-threaded tasks, where the Compiler extracts parallelism automatically, multi-threaded kernels, where you would explicitly program the multi- threaded behavior into an OpenCL kernel as an NDRange. You will walkthrough an FFT implementation example showing both methodologies and the performance results tradeoffs between them.

At Course Completion

You will be able to:

  • Describe how kernels are mapped to FPGAs
  • Understand the differences between loop pipelining and parallel threads
  • Understand how loop carried dependencies are handled with single-threaded (tasks) and multi-threaded (NDRange)
  • Know when to use Tasks vs NDRanges

Skills Required

  • Basic OpenCL coding knowledge

Applicable Training Curriculum

This course is part of the following Intel FPGA training curriculum:

Class Schedule

Result Showing 1

On-lineAnytimeFreeRegister Now