Get Started with Intel® Data Analytics Acceleration Library for Linux* (Windows* Host)

por Anastasia Lepigina,

Publicado:07/20/2018   Última atualização:12/10/2019

Intel® Data Analytics Acceleration Library (Intel® DAAL) is the library of Intel® architecture optimized building blocks covering all stages of data analytics: data acquisition from a data source, preprocessing, transformation, data mining, modeling, validation, and decision making.

Intel DAAL is a part of the following suites:

Intel DAAL is also provided as a standalone package under the Community Licensing Program.


System Requirements.

Install Intel DAAL on Your System

Intel DAAL installs in the directory <install dir>\daal.

By default, <install dir> is C:\IntelSWTools\system_studio_20209\\linux.

For installation details, refer to Intel DAAL Installation Guide.

Set Environment Variables

  1. Run the <install dir>\linux\daal\bin\daalvars.bat script as appropriate to your target architecture:

    • IA-32 architecture:
      daalvars.bat ia32

    • Intel® 64 architecture:
      daalvars.bat intel64

  2. Optionally: Specify the Java* compiler different from the default compiler:
    set PATH=%JAVA_HOME%\bin:%PATH%

C++ Language

Step 1: Choose the Compiler Option for Automatic Linking of Your Application with Intel DAAL

In Microsoft Visual Studio* Integrated Development environment (IDE), open or create a C++ project for your Intel DAAL application to build.

Specify the /Qdaal option of the Intel® C++ Compiler 16 or higher or configure your project in the IDE:

Compiler Option

IDE Equivalent

/Qdaal or

Tells the compiler to link with standard threaded Intel DAAL.

Visual Studio*:

  1. In Solution Explorer, go to Project > Properties > Configuration Properties > Intel Performance Libraries.
  2. From the Use Intel DAAL drop-down menu, select the appropriate linking method. For example: Multi-threaded Static Library.


Tells the compiler to link with sequential version of Intel DAAL.

For more information on the /Qdaal compiler option, see the Intel® Compiler User and Reference Guide.

Step 2: Set Include Directories

In the properties of your project, add include directories <install dir>\daal\include.

Step 3 (Optional): Configure Automatic Linking of Your Application with Intel® MPI Library

To use the Intel® Message Passing Interface (Intel® MPI) Library, configure properties of your project:

  • Add include directories %ProgramFiles%\Intel\MPI\<ver>\intel64\include, where <ver> is the directory for a particular version of the Intel MPI library, for example, %ProgramFiles%\Intel\MPI\<ver>\intel64\include.
  • Add library directories %ProgramFiles%\Intel\MPI\<ver>\intel64\lib, for example, %ProgramFiles%\Intel\MPI\<ver>\intel64\lib.
  • Add impi.lib and impicxx.lib libraries to additional dependencies for your project.

Step 4 (Optional): Build Your Application with Different Compilers

If you did not install the C++ Integration(s) in Microsoft Visual Studio* component of the Intel® Parallel Studio XE or need more control over Intel DAAL libraries to link with your application, directly configure your Visual Studio project.

Add the following libraries to your project, depending on Intel DAAL threading mode and linking method:


Single-threaded (non-threaded) Intel DAAL

Multi-threaded (internally threaded) Intel DAAL

Static linking



Dynamic linking



Do not change the above order of listing the libraries on a link line.

Regardless of the linking method, also add to your project the library on which Intel DAAL libraries depend:

  • Intel® Threading Building Blocks run-time library of the Intel® compiler tbb.lib

To configure your project, follow these steps, which may slightly differ in some versions of Visual Studio:

  1. In Solution Explorer, right-click your project and click Properties

  2. Select Configuration Properties > VC++ Directories

  3. Select Include Directories. Add the directory for the Intel DAAL include files, that is, %DAALROOT%\include

  4. Select Library Directories. Add the architecture-specific directory with Intel DAAL libraries that matches the architecture parameter provided to the daalvar.bat script.
    For example: %DAALROOT%\lib\intel64_win.

    Add the architecture-specific directory with the threading run-time library tbb.lib.
    For example: <install dir>\tbb\lib\intel64_win\vc_mt.

  5. Select Executable Directories. Add the architecture-specific directory with Intel DAAL dynamic-link libraries.
    For example: <install dir>\redist\intel64_win\daal.

    Add architecture-specific directories with threading run-time dynamic-link libraries.
    For example: <install dir>\redist\intel64_win\compiler and <install dir>\redist\intel64_win\tbb\vc_mt.

  6. Select Configuration Properties > Custom Build Setup > Additional Dependencies. Add the libraries required.
    For example: to build your application for Intel® 64 architecture by statically linking with multi-threaded Intel DAAL, add daal_core.lib daal_thread.lib tbb.lib.

In the case of dynamic linking with Intel DAAL, to change the default multi-threaded mode to single-threaded, precede the first call to Intel DAAL with the call right under the "Set single-threaded mode" comment:

int main(int argc, char *argv[])
    /* Set single-threaded mode */

    /* Create input numeric table from array */
    SharedPtr<NumericTable> inputData = SharedPtr<NumericTable>(new Matrix<double>(dimension, dimension, inputArray));

Step 5: Build and Run Intel DAAL Code Examples

In Visual Studio*, use DAALExamples.sln solution file available in <install dir>\daal\examples\cpp.

Java* Language

Build and Run Intel DAAL Code Examples

To build and run Java code examples, use the version of the Java Virtual Machine* corresponding to the architecture parameter you provided to the daalvars.bat script during setting environment variables.

  1. Free 4 gigabytes of memory on your system.

  2. Build examples:

    Go to the Java examples directory and execute the launcher command with the build parameter:
    cd <install dir>\daal\examples\java
    launcher.bat build %PATH_TO_JAVAC%

    The command builds executables *.class (for example, CholeskyBatch.class) in the
    <install dir>\daal\examples\java\com\intel\daal\examples\<example name> directory.

  3. Run examples:

    Go to the Java examples directory and execute the launcher command with the run parameter:
    cd <install dir>\daal\examples\java
    launcher.bat {ia32|intel64} run %PATH_TO_JAVAC%

    Choose the same architecture parameter as you provided to the daalvars.bat script.

    The output for each example is written to the file <example name>.res located in the .\_results\ia32 or .\_results\intel64 directory, depending on the specified architecture.

Python* Language

Deprecation Notice: With the introduction of daal4py, a package that supersedes PyDAAL, Intel is deprecating PyDAAL and will discontinue support starting with Intel® DAAL 2021 and Intel® Distribution for Python 2021. Until then Intel will continue to provide compatible pyDAAL pip and conda packages for newer releases of Intel DAAL and make it available in open source. However, Intel will not add the new features of Intel DAAL to pyDAAL. Intel recommends developers switch to and use daal4py.

Step 1: Set Up the Build Environment

Set up the C++ build environment as explained under C++ Language.

Step 2: Install Intel DAAL for Python

To use DAAL with iPython, delete pydaal and daal from it:
<python home>\Scripts\conda.exe remove -y daal

Go to the directory with Python sources of Intel DAAL.
cd C:\IntelSWTools\compilers_and_libraries\linux\daal\pydaal_sources
This script compiles code using Intel DAAL for C++. It builds and installs the pyDAAL package for using Intel DAAL in Python programs.
<python home>\python clean
<python home>\python install

Step 3: Run Intel DAAL Code Examples

To run Intel DAAL code examples, use the same version of Python as you used to install pyDAAL.

  • Go to the directory with Intel DAAL Python examples:
    cd <install dir>\examples\python

  • To run all the examples, execute the command:
    <python home>\python

    The output for each example is written to the .\_results\intel64\<example name>.res file.

  • To run one specific example, execute the command:
    <python home>\python <algorithm name>\<example name>.py
    For example: C:\python3.5.1\python cholesky\
    This command prints the output to your console.

Training and Documentation

To learn more about the product, see the following resources:



Online Training

Get access to Intel DAAL in-depth webinars and featured articles.

Developer Guide for Intel® Data Analytics Acceleration Library:

Find recommendations on programming with Intel DAAL, including performance tips.

Intel® Data Analytics Acceleration Library API Reference

View detailed API descriptions for the following programming languages:

  • C++
  • Java*
  • Python*

Intel® Data Analytics Acceleration Library Installation Guide

Learn about installation options available for the product and get installation instructions.

Intel® Data Analytics Acceleration Library Release Notes

Learn about:

  • New features of the product
  • Directory layout
  • Hardware and software requirements

<install dir>\daal\examples folder

Get access to the collection of programs that demonstrate usage of Intel DAAL application programming interfaces.

Intel® Data Analytics Acceleration Library code samples

Get access to the collection of code samples for various algorithms that you can include in your program and immediately use with Hadoop*, Spark*, message-passing interface (MPI), or MySQL*.

Intel® Software Documentation Library

View full documentation library for this and other Intel software products.

Notices and Disclaimers

No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.

This document contains information on products, services and/or processes in development. All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest forecast, schedule, specifications and roadmaps.

Intel technologies' features and benefits depend on system configuration and may require enabled hardware, software or service activation. Performance varies depending on system configuration. No product or component can be absolutely secure. Check with your system manufacturer or retailer or learn more at [].

The products and services described may contain defects or errors which may cause deviations from published specifications. Current characterized errata are available on request

Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.

Intel, the Intel logo and Xeon are trademarks of Intel Corporation in the U.S. and/or other countries.

Microsoft, Windows, and the Windows logo are trademarks, or registered trademarks of Microsoft Corporation in the United States and/or other countries.

OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission of The Khronos Group.

*Other names and brands may be claimed as the property of others.

© Intel Corporation.

Optimization Notice

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804


Informações de produto e desempenho


Os compiladores da Intel podem ou não otimizar para o mesmo nível de microprocessadores não Intel no caso de otimizações que não são exclusivas para microprocessadores Intel. Essas otimizações incluem os conjuntos de instruções SSE2, SSE3 e SSSE3, e outras otimizações. A Intel não garante a disponibilidade, a funcionalidade ou eficácia de qualquer otimização sobre microprocessadores não fabricados pela Intel. As otimizações que dependem de microprocessadores neste produto são destinadas ao uso com microprocessadores Intel. Algumas otimizações não específicas da microarquitetura Intel são reservadas para os microprocessadores Intel. Consulte os Guias de Usuário e Referência do produto aplicáveis para obter mais informações sobre os conjuntos de instruções específicos cobertos por este aviso.

Revisão do aviso #20110804