Intel® FPGA SDK for OpenCL™ Software Technology

Overview

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.

Features

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 that 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.

Getting Started

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

OpenCL™ design examples are part of the Intel® FPGA SDK for OpenCLTM software technology. You can find the design example folder at <OpenCL_Installation_Directory>/examples_aoc.

Documentation and Support


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

Информация о продукте и производительности

1

OpenCL и логотип OpenCL являются товарными знаками корпорации Apple Inc., используемыми по разрешению Khronos.