Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.


Introduction to OpenCL on FPGAs

Intel via Coursera


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


  • 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
  • OpenCL on Intel FPGAs
    • The Finale: you will get to compile and run your OpenCL programs using the Intel FPGA SDK for OpenCL

Taught by

Nikhil Venkatesh and Dennis Ejorh


4 rating at Coursera based on 106 ratings

Start your review of Introduction to OpenCL on FPGAs

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.