Get Started Guide

  • 2020
  • 07/15/2020
  • Public Content

Get Started with Intel® Data Analytics Acceleration Library for
Windows*

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
installed standalone and
a
s
part of the following suites:
Intel DAAL is also provided as a standalone package under the Community Licensing Program.

Prerequisites

Install Intel DAAL on Your System
Intel DAAL installs in the directory
<install-dir>
\
daal
.
By default, when DAAL is installed as a part of Intel® Parallel Studio XE,
<install-dir>
is
C:\Program files (x86)\IntelSWTools\compilers_and_libraries_
2020
.x.xxx\windows
.
By default, when DAAL is installed as a part of Intel® System Studio,
<install-dir>
is
C:\Program Files (x86)\IntelSWTools\system_studio_for_windows_
2020
.x.xxx
\
compilers_and_libraries_
\windows
.
For installation details, refer to Intel DAAL Installation Guide.
Set Environment Variables
  1. Run the
    <install-dir>
    \
    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
    JAVA_HOME=
    %
    PATH_TO_JAVA_SDK
    %
    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
/Q
daal
option of the Intel® C++ Compiler 16 or higher or configure your project in the
IDE
:
Compiler Option
IDE Equivalent
/Q
daal
or
/Qdaal:parallel
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
    .
/Qdaal:sequential
Tells the compiler to link with sequential version of Intel DAAL.
For more information on the
/Q
daal
compiler option, see the Intel® Compiler User and Reference Guide.
Step 3 (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
daal_core.
lib
daal_sequential.
lib
daal_core.
lib
daal_thread.
lib
Dynamic linking
daal_core
_dll
.
lib
daal_core
_dll
.
lib
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 */ Environment::getInstance()->setDynamicLibraryThreadingTypeOnWindows(Environment::SingleThreaded); /* Create input numeric table from array */ SharedPtr<NumericTable> inputData = SharedPtr<NumericTable>(new Matrix<double>(dimension, dimension, inputArray)); ...
Step 4: 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
Go to the directory with Python sources of Intel DAAL and run the install script:
cd
<install-dir>
\
pydaal_sources
<python home>
\
python setup.py install
This script compiles code using Intel DAAL for C++. It builds and installs the pyDAAL package for using Intel DAAL in Python programs.
To use DAAL with iPython, delete pydaal and daal from it:
<python home>
\Scripts\conda.exe remove -y pydaal
<python home>
\Scripts\conda.exe remove -y daal
cd
<install-dir>
\pydaal_sources
<python home>
\python setup.py clean
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 run_examples.py
    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
    \
    cholesky_batch.py
    This command prints the output to your console.

Training and Documentation

To learn more about the product, see the following resources:
Resource
Description
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. A Japanese version is available in the downloadable studio documentation bundle.
View detailed API descriptions for the following programming languages:
  • C++
  • Java*
  • Python*
Learn about installation options available for the product and get installation instructions.
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.
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*.
View full documentation library for this and other Intel software products.
Intel technologies may require enabled hardware, software or service activation.
No product or component can be absolutely secure.
Your costs and results may vary.
© Intel Corporation. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. Other names and brands may be claimed as the property of others.
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
No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.
The products described may contain design defects or errors known as errata which may cause the product to deviate 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.

Product and Performance Information

1

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