Intel® FPGA SDK for OpenCL™ Pro Edition: Getting Started Guide

ID 683188
Date 12/19/2022
Public
Document Table of Contents

1.3. Contents of the Intel® FPGA SDK for OpenCL™ Pro Edition

The Intel® FPGA SDK for OpenCL™ Pro Edition provides programs and SDK-specific libraries and files.

Logic Components

  • The Intel® FPGA SDK for OpenCL™ Offline Compiler translates your OpenCL* device code into a hardware configuration file that the system loads onto an Intel® FPGA product.
  • The Intel® FPGA SDK for OpenCL™ Pro Edition utility includes a set of commands you can invoke to perform high-level tasks such as running diagnostic tests.
  • The host runtime provides the OpenCL* host and runtime API for your OpenCL* host application.

    The host runtime consists of libraries that provide OpenCL* APIs, hardware abstractions, and helper libraries.

Drivers, Libraries and Files

The software installation process installs the Intel® FPGA SDK for OpenCL™ Pro Edition into a directory that you own. The INTELFPGAOCLSDKROOT environment variable references the path to the SDK's installation directory.

Table 1.  Select Contents of the Intel® FPGA SDK for OpenCL™ Pro Edition Installation Directory
Windows Folder Linux Directory Description
bin bin User commands in the SDK. Include this directory in your PATH environment variable setting.
board \custom_platform_toolkit\tests board /custom_platform_toolkit/tests The path to the Intel® FPGA SDK for OpenCL™ Pro Edition kernel code files to test platforms.
Note: Starting from the 20.3 release, Intel® has removed the support for Windows and Linux OpenCL BSPs. Use version 20.2 or older OpenCL BSPs available at FPGA Software Download Center as a reference. If you want to migrate your OpenCL BSP to a newer version, follow the recommended steps provided in the Reference Platform Porting Guides available under Intel FPGA SDK for OpenCL documentation.
ip ip Intellectual property (IP) cores used to compile device kernels.
host host Files necessary for compiling and running your host application.
host\include host/include OpenCL* Specification version 1.0 header files and software interface files necessary for compiling and linking your host application.

The host/include/CL subdirectory also includes the C++ header file cl.hpp. The file contains an OpenCL* version 1.1 C++ wrapper API. These C++ bindings enable a C++ host program to access the OpenCL* runtime APIs using native C++ classes and methods.

Important: The OpenCL* version 1.1 C++ bindings are compatible with OpenCL* Specification versions 1.0 and 1.1.

Add this path to the include file search path in your development environment.

host\windows64\lib host/linux64/lib OpenCL* host runtime libraries that provide the OpenCL* platform and runtime APIs. These libraries are necessary for linking your host application.

To run an OpenCL* application on Linux, include this directory in the LD_LIBRARY_PATH environment variable setting.

host\windows64\bin host/linux64/bin Runtime commands and libraries necessary for running your host application, wherever applicable. For 64-bit Windows system, include this directory in your PATH environment variable setting.
  • For Windows system, this folder contains runtime libraries.
  • For Linux system, this directory contains platform-specific binary for the aocl utility command.
share share Architecture-independent support files.

Example OpenCL* Applications

You can refer to example OpenCL* applications from the examples_aoc OpenCL* design examples directory under INTELFPGAOCLSDKROOT.