Required Software:
-
C/C++ Compiler
-
DPC++ Compiler
-
Java* JDK
-
Microsoft Visual Studio* (Windows* only)
-
MSYS2 installer with the msys/make package (Windows* only); install the package as follows:
pacman -S msys/make
For details, see System Requirements for oneDAL.
-
Clone the sources from GitHub* as follows:
git clone https://github.com/oneapi-src/oneDAL.git
-
Set the PATH environment variable to the MSYS2* bin directory (Windows* only). For example:
set PATH=C:\msys64\usr\bin;%PATH%
-
Set the environment variables for one of the supported C/C++ compilers. For example:
-
Microsoft Visual Studio* 2019:
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat" amd64
-
Intel(R) C++ Compiler 19.1 (Windows*):
call "C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\bin\compilervars.bat" intel64
-
Intel(R) C++ Compiler 19.1 (Linux*):
source /opt/intel/compilers_and_libraries/linux/bin/compilervars.sh intel64
-
Intel(R) oneAPI DPC++/C++ Compiler 2021.1 (Windows*):
call "C:\Program Files (x86)\Intel\oneAPI\compiler\latest\env\vars.bat" intel64
-
-
Set the environment variables for one of the supported Java* compilers. For example:
-
Windows*:
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_77 set PATH=%JAVA_HOME%\bin;%PATH% set INCLUDE=%JAVA_HOME%\include;%INCLUDE%
-
Linux*:
export JAVA_HOME=/usr/jdk/jdk1.6.0_02 export PATH=$JAVA_HOME/bin:$PATH export CPATH=$JAVA_HOME/include:$JAVA_HOME/include/linux:$CPATH
-
-
Download and set an environment for micromkl libs:
-
Windows*:
.\dev\download_micromkl.bat
-
Linux*:
./dev/download_micromkl.sh
-
-
Download and install Intel(R) Threading Building Blocks (Intel(R) TBB):
Download and install free Community License Intel(R) TBB (see Get Intel(R) Performance Libraries for Free). Set the environment variables for for Intel(R) TBB. For example:
-
oneTBB (Windows*):
call "C:\Program Files (x86)\Intel\oneAPI\tbb\latest\env\vars.bat" intel64
-
oneTBB (Linux*):
source /opt/intel/oneapi/tbb/latest/env/vars.sh intel64
Alternatively, you can use scripts to do this for you (Linux*):
./dev/download_tbb.sh
-
-
Download and install Python 3.7 (Windows* only).
-
Build oneDAL via command-line interface. Choose the appropriate commands based on the interface, platform, and the compiler you use. Below you can find the set of examples for building oneDAL. You may use a combination of them to get the desired build configuration:
-
DAAL interfaces on Linux* using Intel(R) C++ Compiler:
make -f makefile daal PLAT=lnx32e
-
DAAL interfaces on Linux* using GNU Compiler Collection*:
make -f makefile daal PLAT=lnx32e COMPILER=gnu
-
oneAPI C++/DPC++ interfaces on Windows* using Intel(R) DPC++ compiler:
make -f makefile oneapi PLAT=win32e
-
oneAPI C++ interfaces on Windows* using Microsoft Visual* C++ Compiler:
make -f makefile oneapi_c PLAT=win32e COMPILER=vc
-
DAAL and oneAPI C++ interfaces on Linux* using GNU Compiler Collection*:
make -f makefile daal oneapi_c PLAT=lnx32e COMPILER=gnu
-
It is possible to build oneDAL libraries with selected set of algorithms and/or CPU optimizations. CORE.ALGORITHMS.CUSTOM
and REQCPUS
makefile defines are used for it.
-
To build oneDAL with Linear Regression and Support Vector Machine algorithms, run:
make -f makefile daal PLAT=win32e CORE.ALGORITHMS.CUSTOM="linear_regression svm" -j16
-
To build oneDAL with AVX2 and AVX CPU optimizations, run:
make -f makefile daal PLAT=win32e REQCPU="avx2 avx" -j16
-
To build oneDAL with Moments of Low Order algorithm and AVX2 CPU optimizations, run:
make -f makefile daal PLAT=win32e CORE.ALGORITHMS.CUSTOM=low_order_moments REQCPU=avx2 -j16
NOTE: Built libraries are located in the __release_{os_name}/daal
directory.