Build applications with oneDAL¶
This section contains instructions for building applications with oneDAL for SYCL*.
Applications on Linux* OS¶
Install oneDAL.
Set environment variables by calling
<install dir>/vars.sh
.Build the application using
icpx
(Linux* OS) andicx-cl
(Windows* OS) commands:Add oneDAL
includes
folder:-I<install dir>/dal/latest/include
Add oneDAL libraries. Choose the appropriate oneDAL libraries based on oneDAL linking method:
¶ Static linking
libonedal_core.a,libonedal_dpc.a,libonedal_parameters.a,libonedal_parameters_dpc.a,libonedal_thread.aDynamic linking
libonedal_core.so,libonedal_dpc.so,libonedal_parameters.so,libonedal_parameters_dpc.so,libonedal_thread.soAdd an additional oneDAL library:
<install dir>/dal/latest/lib/libonedal_sycl.a
Applications on Windows* OS¶
Install oneDAL.
In Microsoft Visual Studio* Integrated Development Environment (IDE), open or create a C++ project for your oneDAL application to build.
In project properties:
Set Intel® oneAPI DPC++/C++ Compiler platform toolset:
Add oneDAL
includes
folder to Additional Include Directories.Add folders with oneDAL and oneTBB libraries to Library Directories:
Add oneDAL and OpenCL libraries to Additional Dependencies:
Add the appropriate libraries to your project based on oneDAL linking method:
¶ Static linking
onedal_core.lib,onedal_thread.libDynamic linking
onedal_core_dll.libYou may also add debug versions of the libraries based on the threading mode and linking method:
¶ Static linking
onedal_cored.lib,onedald.lib,onedal_dpcd.lib,onedal_sycld.lib,onedal_threadd.libDynamic linking
onedal_cored_dll.lib (onedal_cored_dll.2.lib),onedald_dll.lib (onedald_dll.2.lib),onedal_dpcd_dll.lib (onedal_dpcd_dll.2.lib),onedald.2.dll,onedal_cored.2.dll,onedal_dpcd.2.dll,onedal_threadd.2.dll
Examples¶
Dynamic linking oneDAL with the GPU target:
Linux* OS:
icpx -fsycl my_first_dal_program.cpp -Wl, --start-group -L<install dir>/dal/latest/lib -lonedal_core -lonedal_dpc -lonedal_parameters_dpc -lonedal_thread -lpthread -ldl -lOpenCL -L<install dir>/tbb/latest/lib/ -ltbb -ltbbmalloc <install dir>/dal/latest/lib/libonedal_sycl.a -Wl,--end-group
Windows* OS:
icx-cl -fsycl my_first_dal_program.cpp -Wl, --start-group -L<install dir>/dal/latest/lib/ -lonedal_core -lonedal_dpc -lonedal_thread -lpthread -ldl -lOpenCL -L<install dir>/tbb/latest/lib/ -ltbb -ltbbmalloc <install dir>/dal/latest/lib/libonedal_sycl.a -Wl,--end-group