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
- System and runtime improvements.
- New kernel invocation queue feature to enable immediate launch of next kernel invocation. To learn more, check out the Intel® FPGA SDK for OpenCL™ Best Practices Guide.
New hierarchical menus allowing easier navigation within the reporting infrastructure.
- Download Intel® FPGA SDK for OpenCL™ Pro edition to target the latest Intel® Stratix® 10, Intel® Arria® 10, and Intel® Cyclone® 10 GX devices.
- Download Intel® FPGA SDK for OpenCL™ Standard Edition to target Stratix® V and Cyclone® V SoC devices
- The software installation file includes the OpenCL™ software and Intel® Quartus® Prime Pro/Standard Edition Software
- The Intel® Quartus® Prime Software does not require a license purchase when used as part of the Intel® FPGA SDK for OpenCL™
- A Board Support Package (BSP) is needed to run your OpenCL™ application. Download an Intel BSP (development kit BSP) or purchase a partner provided BSP, or create a custom BSP
- Read the Intel® FPGA SDK for OpenCL™ Getting Started Guide
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
Product and Performance Information
OpenCL™ and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.