Intel® FPGA SDK for OpenCL™ software technology1 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™ software technology enables you to fully leverage the unique capabilities of FPGAs to deliver acceleration performance with power efficiency and low latency.
What's New in 20.1
Intel® FPGA SDK for OpenCL™ software technology v20.1 includes key enhancements that deliver improved performance and productivity.
An Intuitive Design Environment
- Dynamic Profiling via Intel® VTune analysis.
- Improved utilization and padding to reduce local memory usage for depths which are not a power of two.
Meeting Performance Requirements
- Improved reporting and pragmas for fine-tuned control over loop fusion to merge sequential loops at the same level to improve throughput and reduce area.
- Enabled stall enable clusters pragma to reduce local memory usage by removing FIFO instantiations and latency between functions.
- Download Intel® FPGA SDK for OpenCL™ software technology pro edition to target the latest Intel® Stratix® 10, Intel® Arria® 10, and Intel® Cyclone® 10 GX devices
- Download Intel® FPGA SDK for OpenCL™ software technology 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™ software technology
- 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™ software technology 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™ application 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™ application is that it is a portable, open, royalty-free standard, which is a key differentiator versus proprietary programming models. OpenCL™ standard 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™ platform 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™ software technology 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™ software technology, 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.