Intel® FPGA SDK for OpenCL™ Software Technology


Intel® FPGA SDK for OpenCL™1 is a world class development environment that enables software developers to accelerate their applications by targeting heterogeneous platforms with Intel CPUs and FPGAs. This environment combines Intel’s state-of-the-art software development frameworks and compiler technology with the revolutionary, new Intel® Quartus® Prime Software to deliver next generation development environment that abstracts FPGA details while delivering optimized results. Intel® FPGA SDK for OpenCL™ enables you to fully leverage the unique capabilities of FPGAs to deliver acceleration performance with power efficiency and low latency.


What's New in 19.1

Intel® FPGA SDK for OpenCL­™ v19.1 includes key enhancements that deliver improved performance and productivity.


Extract the highest performance from your OpenCL™ design. Intel® Quartus® Prime Design Software V19.1 introduces new pragmas and attributes that provide you with even more control over the performance of your design. Enhanced reporting features provide further guidance in getting even closer to peak RTL performance of your design. To learn more, check out this new video on the new quality of results (QoR) features.


40% compile time reduction for OpenCL™ compiler compared to Intel® Quartus® Prime Design Software v18.1.1.

Quality of Results


New hierarchical menus allowing easier navigation within the reporting infrastructure.

Getting Started

Frequently Asked Questions

The OpenCL™ standard is the first open, royalty-free, unified programming model for accelerating algorithms on heterogeneous systems. OpenCL™ allows the use of a C-based programming language for developing code across different platforms, such as CPUs, GPUs, and FPGAs. A key benefit of OpenCL™ is that it is a portable, open, royalty-free standard, which is a key differentiator versus proprietary programming models. OpenCL™ is a programming model for software engineers and a methodology for system architects. It is based on standard ANSI C (C99) with extensions to extract parallelism. OpenCL™ also includes an application programming interface (API) for the host to communicate with the hardware accelerator traditionally over PCI Express* or one kernel to communicate with another without host interaction. Intel® FPGA SDK for OpenCL™ provides a vendor extension, an I/O, and a Host Channel API to stream data into a kernel directly from a streaming I/O interface such as 10 Gb Ethernet.

In order to create and run applications in the Intel® FPGA SDK for OpenCL™, you need to either use an Intel or partner provided BSP or create your own BSP (see links in ‘Getting Started’ section). A board support package (BSP) is a collection of libraries and drivers that will form the lowest layer of your application software stack. Your software applications must link against or run on top of a given software platform.

To find reference BSPs, see the “Getting Started” section.

The following development kits have an available BSP:

  • Intel® Stratix® 10 GX
  • Stratix® V
  • Intel® Arria® 10 SoC
  • Intel® Arria® 10 GX

Documentation and Support

Find technical documentation, videos, and training courses for the Intel® FPGA SDK for OpenCL™ .

Product and Performance Information


OpenCL™ and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.