Introduction to OpenCL on FPGAs

Description

OpenCL™ is a standard for writing parallel programs for heterogeneous systems, much like the NVidia* CUDA* programming language. In the FPGA environment, OpenCL constructs are synthesized into custom logic. An overview of the OpenCL standards will be discussed. You will learn about the platform, execution, memory, and programming models that define the OpenCL specification. Syntax of the OpenCL language will be discussed, and you will see examples of OpenCL usage. The similarities and differences between OpenCL and CUDA will be highlighted throughout. The advantages of using the Intel® FPGA OpenCL solution will be presented.*OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission of Khronos*Other names and brands may be claimed as the property of others

What you will learn

Heterogeneous Parallel Computing

The student will be provided with a brief motivation for the necessity of parallel computing along with its inherent challenges.

OpenCL for Platform and Host-side Software

In this module, we will begin to craft an understanding of OpenCL as a viable framework for the development of heterogeneous Parallel Computing Solutions on Intel FPGAs

Executing OpenCL Kernels

For this module, we will explore the basics of the OpenCL standard.

NDRange Kernels

Building upon what we’ve covered up to this point, you will learn how to write your very own OpenCL program

What’s included