Visible to Intel only — GUID: rfo1649171079605
Ixiasoft
1. Intel® FPGA SDK for OpenCL™ Standard Edition Cyclone V SoC Getting Started Guide
2. Setting Up the Intel® FPGA SDK for OpenCL™ , Intel® SoC FPGA Embedded Design Suite, and the Cyclone V SoC Development Kit for Windows
3. Setting Up the Intel® FPGA SDK for OpenCL™ , Intel® SoC FPGA Embedded Design Suite, and the Cyclone V SoC Development Kit for Linux
A. Document Revision History of the Intel® FPGA SDK for OpenCL™ Standard Edition Cyclone® V SoC Getting Started Guide
1.1. Prerequisites for the Intel® FPGA SDK for OpenCL™ Standard Edition
1.2. Contents of the Intel® FPGA SDK for OpenCL™ Standard Edition
1.3. Overview of the Intel® FPGA SDK for OpenCL™ Standard Edition and Cyclone® V SoC Development Kit Setup Processes
1.4. Overview of the Intel® FPGA SDK for OpenCL™ Cyclone V SoC Programming Flow
1.5. Cyclone V SoC Development Kit Reference Platform Board Variants
1.6. Cyclone V SoC FPGA-Specific OpenCL Design Considerations
2.1. Upgrading to Current Version of Intel FPGA SDK for OpenCL for Cyclone® V SoC FPGA
2.2. Downloading the Intel® FPGA SDK for OpenCL™ Standard Edition
2.3. Downloading the Intel® SoC FPGA Embedded Development Suite
2.4. Installing the Intel® FPGA SDK for OpenCL™
2.5. Setting the Intel® FPGA SDK for OpenCL™ User Environment Variables for SoC FPGA
2.6. Installing the Intel® SoC FPGA Embedded Development Suite Standard Edition
2.7. Installing the Cyclone V SoC Development Kit
2.8. Downloading an OpenCL Design Example
2.9. Creating the Hardware Configuration File of an OpenCL Kernel for SoC FPGA
2.10. Executing an OpenCL Kernel on an SoC FPGA
2.11. Uninstalling the Software
3.1. Upgrading to Current Version of Intel FPGA SDK for OpenCL for Cyclone® V SoC FPGA
3.2. Downloading the Intel® FPGA SDK for OpenCL™ Standard Edition
3.3. Downloading the Intel® SoC FPGA Embedded Development Suite
3.4. Installing the Intel® FPGA SDK for OpenCL™
3.5. Setting the Intel® FPGA SDK for OpenCL™ User Environment Variables for SoC FPGA
3.6. Installing the Intel® SoC FPGA Embedded Development Suite Pro Edition
3.7. Installing the Cyclone V SoC Development Kit
3.8. Verifying Host Runtime Functionality via Emulation
3.9. Creating the Hardware Configuration File of an OpenCL Kernel for SoC FPGA
3.10. Executing an OpenCL Kernel on an SoC FPGA
3.11. Uninstalling the Software
Visible to Intel only — GUID: rfo1649171079605
Ixiasoft
3.8.4. Emulating Your OpenCL Kernel
To emulate your OpenCL™ kernel, run the emulation .aocx file on the platform on which you built your kernel. The OpenCL Emulator uses a different OpenCL platform than when targeting FPGA hardware.
To emulate your kernel, perform the following steps:
- Run the utility command aocl linkflags to find out which libraries are necessary for building a host application. The software lists the libraries for both emulation and regular kernel compilation flows.
- Build a host application and link it to the libraries from Step 1.
Note: To emulate multiple devices alongside other OpenCL SDKs, link your host application to the Khronos ICD Loader Library before linking it to the host runtime libraries. Link the host application to the ICD Loader Library by modifying the Makefile for the host application. Refer to Linking Your Host Application to the Khronos ICD Loader Library for more information.
- If necessary, move the <your_kernel_filename>.aocx file to a location where the host can find it easily, preferably the current working directory.
- To run the host application for emulation:
- For Windows, first define the number of emulated devices by invoking the set CL_CONTEXT_EMULATOR_DEVICE_INTELFPGA=<number_of_devices> command and then run the host application. After you run the host application, invoke set CL_CONTEXT_EMULATOR_DEVICE_INTELFPGA= to unset the variable.
- For Linux, invoke the env CL_CONTEXT_EMULATOR_DEVICE_INTELFPGA=<number_of_devices> <host_application_filename> command.
This command specifies the number of identical emulation devices that the Emulator needs to provide.Note: When the environment variable CL_CONTEXT_EMULATOR_DEVICE_INTELFPGA is set, only the emulated devices are available, i.e., access to all physical boards is disabled. - If you change your host or kernel program and you want to test it, only recompile the modified host or kernel program and then rerun emulation.
Each invocation of the emulated kernel creates a shared library copy called <process_ID>-libkernel.so in a default temporary directory, where <process_ID> is a unique numerical value assigned to each emulation run. You may override the default directory by setting the TMP or TEMP environment variable on Windows, or setting TMPDIR on Linux.