Intel® DAAL – Building the Customized Set of Selected Algorithms and CPU Optimizations

By Gennady Fedorov,

Published:12/18/2018   Last Updated:12/20/2018

Many applications such as embedded ones intended for execution in the environment with HW resource constrains require SW of the predefined size. The application developer can also apply modifications in the specific algorithm of open source Intel® Data Analytics Acceleration Library (Intel® DAAL), e.g., extend k-means with support of a new distance. Building the library that contains selected set of the algorithms or/and set of CPU optimizations aim at addressing those cases.

This article provides detailed instructions on how to build the customized version of the library from the code base available at https://github.com/intel/daal.

The root folder of Intel DAAL contains make file used to build the binary of the library.

As the first step choose a set of the algorithms or/and set of CPU optimizations to be included in the customized library. The full list of the algorithms and CPUs is available in makefile help:

make -f makefile help

Use a define CORE.ALGORITHMS.CUSTOM to specify the algorithms of your interest. The command below shows how to do it:

make -f makefile daal CORE.ALGORITHMS.CUSTOM=”linear_regression svm” -j16

Use a define REQCPU to specify the CPU optimizations of your interest. The command below shows how to do it:

make -f makefile daal REQCPU=”avx2 avx” -j16

Note: To avoid not expected crashes at “lower” CPUs, SSE2 CPU optimizations will be included to the library unconditionally.

Note: If list of the required algorithms/CPU optimizations contains one value only, quotes should be avoided as demonstrated below.

make -f makefile daal CORE.ALGORITHMS.CUSTOM=linear_regression -j16

Defines CORE.ALGORITHMS.CUSTOM and REQCPU may be used in one makefile command:

make daal REQCPU=avx CORE.ALGORITHMS.CUSTOM=dtrees -j16

Complete list of steps required to build DAAL may be found at DAAL GitHub* page.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.