A newer version of this document is available. Customers should click here to go to the newest version.
Why is FPGA Compilation Different? Types of SYCL* FPGA Compilation FPGA Compilation Flags Emulate and Debug Your Design Evaluate Your Kernel Through Simulation Device Selectors for FPGA FPGA IP Authoring Flow Fast Recompile for FPGA Generate Multiple FPGA Images (Linux only) FPGA BSPs and Boards Targeting Multiple Homogeneous FPGA Devices Targeting Multiple Platforms FPGA-CPU Interaction FPGA Performance Optimization Use of RTL Libraries for FPGA Use SYCL Shared Library With Third-Party Applications FPGA Workflows in IDEs
Intel oneAPI DPC++ Library (oneDPL) Intel oneAPI Math Kernel Library (oneMKL) Intel oneAPI Threading Building Blocks (oneTBB) Intel oneAPI Data Analytics Library (oneDAL) Intel oneAPI Collective Communications Library (oneCCL) Intel oneAPI Deep Neural Network Library (oneDNN) Intel oneAPI Video Processing Library (oneVPL) Other Libraries
Example CPU Commands
The commands below implement the scenario when part of the device code resides in a static library.
NOTE:Linking with a dynamic library is not supported.
Produce a fat object with device code:
icpx -fsycl -c static_lib.cpp
Create a fat static library out of it using the ar tool:
ar cr libstlib.a static_lib.o
Compile application sources:
icpx -fsycl -c a.cpp
Link the application with the static library:
icpx -fsycl -foffload-static-lib=libstlib.a a.o -o a.exe
Did you find the information on this page useful?