Build applications with oneDAL
Applications on Linux* OS
- Install oneDAL.
- Set environment variables by calling<install dir>/setvars.sh.
- Build your application with dpcpp:
- Add oneDALincludesfolder:-I<install dir>/dal/latest/include
- Add oneDAL libraries. Choose the appropriate oneDAL libraries based on oneDAL threading mode and linking method:oneDAL libraries for LinuxSingle-threaded (non-threaded)Multi-threaded (internally threaded)Static linking
libonedal_core.a,
libonedal_dpc.a,
libonedal_sequential.a
libonedal_core.a,
libonedal_dpc.a,
libonedal_thread.a
Dynamic linking
libonedal_core.so,
libonedal_dpc.so,
libonedal_sequential.so
libonedal_core.so,
libonedal_dpc.so,
libonedal_thread.so
- Add an additional oneDAL library:<install dir>/dal/latest/libintel64/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 oneDALincludesfolder 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 threading mode and linking method:oneDAL libraries for WindowsSingle-threaded (non-threaded)Multi-threaded (internally threaded)Static linking
onedal_core.lib,
onedal_sequential.lib
onedal_core.lib,
onedal_thread.lib
Dynamic linkingonedal_core_dll.libonedal_core_dll.libYou may also add debug versions of the libraries based on the threading mode and linking method:oneDAL debug libraries for WindowsSingle-threaded (non-threaded)Multi-threaded (internally threaded)Static linking
onedal_cored.lib,
onedald.lib,
onedal_dpcd.lib,
onedal_sycld.lib,
onedal_sequentiald.lib
onedal_cored.lib,
onedald.lib,
onedal_dpcd.lib,
onedal_sycld.lib,
onedal_threadd.lib
Dynamic linking
onedal_cored_dll.lib (onedal_cored_dll.1.lib),
onedald_dll.lib (onedald_dll.1.lib),
onedal_dpcd_dll.lib (onedal_dpcd_dll.1.lib),
onedald.1.dll,
onedal_cored.1.dll,
onedal_dpcd.1.dll,
onedal_sequentiald.1.dll
onedal_cored_dll.lib (onedal_cored_dll.1.lib),
onedald_dll.lib (onedald_dll.1.lib),
onedal_dpcd_dll.lib (onedal_dpcd_dll.1.lib),
onedald.1.dll,
onedal_cored.1.dll,
onedal_dpcd.1.dll,
onedal_threadd.1.dll
dpcpp my_first_dal_program.cpp -Wl,
--start-group -L<install dir>/dal/latest/lib/intel64 -lonedal_core -lonedal_dpc -lonedal_thread -lpthread -ldl -lOpenCL -L<install dir>/tbb/latest/lib/intel64/gcc4.8 -ltbb -ltbbmalloc <install dir>/dal/latest/lib/intel64/libonedal_sycl.a -Wl,--end-group
dpcpp my_first_dal_program.cpp -Wl,
--start-group <install dir>/dal/latest/lib/intel64/libonedal_core.a <install dir>/dal/latest/lib/intel64/libonedal_dpc.a <install dir>/dal/latest/lib/intel64/libonedal_sequential.a -lpthread -ldl -lOpenCL <install dir>/dal/latest/lib/intel64/libonedal_sycl.a -Wl,--end-group