Intel® FPGA SDK For OpenCL™

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 Is OpenCL?

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. 

What's New

Intel® FPGA SDK for OpenCL™ v18.1 includes key enhancements that deliver improved productivity and improved results.

Preserve Global Memory on FPGA Reconfiguration:

In the Intel FPGA SDK for OpenCL v18.1, users will now see reduced swap time during FPGA reconfiguration. between allows the FPGA to be reconfigured without copying data from the DDR memory. Previously, data always had to be copied back to the host during reconfiguration to ensure data preservation but now programs don’t need to in this release This reduces the time to swap programs on the FPGA by the user.

High Performance Emulator (Beta):

The below features have been added to the OpenCL Emulator in 18.1:

  • Arbitrary precision integers
  • Double precision floating point
  • All FPGA-specific pragmas supported (most are no-ops in emulator)
  • Shared Virtual Memory (SVM)

In 18.1, users will see the following changes:

  • Support for I/O channels and host pipes
  •  Framework to support multiple memory memories by manually dropping in models
  • Framework to support device families without a board

Backwards Compatibility:

OpenCL compiler v18.1 is fully backwards compatible with Quartus v18.0 & 17.1.1.

Inline Acceleration with Intel’s FPGA SDK for OpenCL™

Learn how to use a FPGA based platform for streaming analytics.



Intel® FPGA SDK for OpenCL™

Go to the Download Center to download the Intel® FPGA SDK for OpenCL™— the FPGA industry’s first software development kit for OpenCL. The Download Center allows you to download the latest version of Intel FPGA SDK for OpenCL as well as prior versions of the software. When you download the software, you can select between Standard and Pro versions. Select "Pro" to target the latest Intel® Stratix® 10, Intel® Arria® 10, and Intel® Cyclone® 10 devices. Select "Standard" to target Stratix® IV, Stratix® V, Arria® II, Arria® V, Cyclone® IV, Cyclone® V, and Intel® Cylone® 10 LP devices.

Download now

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.