Intel® oneAPI Data Analytics Library
Learn from community members on how to build compute-intensive applications that run efficiently on Intel® architecture.

Getting start with DAAL Parallel Studio XE 2016

Jae_L_
Beginner
695 Views

I have just installed the DAAL Parallel Studio XE 2016, and followed the first step to compile and run a source code, my_first_daal_program.cpp, as provided on https://software.intel.com/en-us/get-started-with-daal-for-linux

With icc my_first_daal_program.cpp -daal=parallel -o my_first_daal_program, I got following error output:

my_first_daal_program.cpp(47): error: identifier "SharedPtr" is undefined
      SharedPtr<NumericTable> inputData = SharedPtr<NumericTable>(new Matrix<double>(dimension, dimension, inputArray));
      ^

my_first_daal_program.cpp(47): error: type name is not allowed
      SharedPtr<NumericTable> inputData = SharedPtr<NumericTable>(new Matrix<double>(dimension, dimension, inputArray));
                ^

my_first_daal_program.cpp(47): error: identifier "inputData" is undefined
      SharedPtr<NumericTable> inputData = SharedPtr<NumericTable>(new Matrix<double>(dimension, dimension, inputArray));
                              ^

my_first_daal_program.cpp(47): error: type name is not allowed
      SharedPtr<NumericTable> inputData = SharedPtr<NumericTable>(new Matrix<double>(dimension, dimension, inputArray));
                                                    ^

my_first_daal_program.cpp(53): error: no instance of function template "daal::algorithms::cholesky::interface1::Input::set" matches the argument list
            argument types are: (daal::algorithms::cholesky::InputId, <error-type>)
            object type is: daal::algorithms::cholesky::interface1::Input
      algorithm.input.set(cholesky::data, inputData);
                      ^

my_first_daal_program.cpp(59): error: type name is not allowed
      SharedPtr<Matrix<double> > factor =
                ^

my_first_daal_program.cpp(59): error: identifier "factor" is undefined
      SharedPtr<Matrix<double> > factor =
                                 ^

my_first_daal_program.cpp(60): error: identifier "staticPointerCast" is undefined
          staticPointerCast<Matrix<double>, NumericTable>(algorithm.getResult()->get(cholesky::choleskyFactor));
          ^

my_first_daal_program.cpp(60): error: type name is not allowed
          staticPointerCast<Matrix<double>, NumericTable>(algorithm.getResult()->get(cholesky::choleskyFactor));
                            ^

my_first_daal_program.cpp(60): error: type name is not allowed
          staticPointerCast<Matrix<double>, NumericTable>(algorithm.getResult()->get(cholesky::choleskyFactor));
                                            ^

compilation aborted for my_first_daal_program.cpp (code 2)

 

Can anyone help me understand what went wrong?

 

0 Kudos
10 Replies
Andrey_N_Intel
Employee
695 Views

Hi Jae,

Did you follow all steps described in the instruction for building and running the example? In particular, did you set up the environment by running the script daalvars.sh as shown below for Intel(R) 64 architecture

bash$ . ./daalvars.sh intel64

Andrey

0 Kudos
Gennady_F_Intel
Moderator
695 Views

Jae, I couldn't reproduce the problem your reported. Here is the log I obtained with your case ( just added the daalversion() function to print the the comprehensive version of DAAL.):

>icc --version
icc (ICC) 16.0.0 20150815
Copyright (C) 1985-2015 Intel Corporation.  All rights reserved.
 
>icc -daal=sequential test596365.cpp -o test_seguential.exe
>./test_seguential.exe
Major version:          2016
Minor version:          0
Update version:         0
Product status:         Product
Build:                  20150803
Name:                   Intel(R) Data Analytics Acceleration Library
Processor optimization: Intel(R) Advanced Vector Extensions 2
 
The first element of the Cholesky factor: 1
 
>./test_parallel.exe
Major version:          2016
Minor version:          0
Update version:         0
Product status:         Product
Build:                  20150803
Name:                   Intel(R) Data Analytics Acceleration Library
Processor optimization: Intel(R) Advanced Vector Extensions 2
 
The first element of the Cholesky factor: 1
 
 
0 Kudos
Jae_L_
Beginner
695 Views

Hi Andrey & Gennady,

Thank you for responding to my trouble.

I am using a trial version of Intel's Parallel Studio XE Professional Edition for C++ Linux on my Ubuntu PC. It's a single linux machine, not a cluster of nodes that I'm trying to test the DAAL library on.

For installation, I used the GUI installer which came with .tar file to install the package. As a last of part of installation, I executed the shell script command with ./daalvars.sh intel64. The script I executed is found in the default program directory /opt/intel/compilers_and_libraries_2016.0.109/linux/daal/bin.

Initially, I downloaded the standalone version, but found out that it does not come with icc compiler. So, I downloaded the professional/cluster version. I checked the compiler with icc --version, and I confirmed I have a compiler:

icc (ICC) 16.0.0 20150815
Copyright (C) 1985-2015 Intel Corporation.  All rights reserved.

One thing that I noticed strange was that during the installation process, the installer detected that the platform is not a cluster, so it skipped a couple of packages. However, I thought it was not a big issue for me to have trouble compiling this sample test code.

 

0 Kudos
Jae_L_
Beginner
695 Views

One thing I notice about the sample code is that the include directive is defined to search for a header file in the same directory as where my sample test code is located:

#include "daal.h"

But, this file is in /opt/intel/compilers_and_libraries_2016.0.109/linux/daal/include, whereas my sample test code is located in my home directory.


 

0 Kudos
Andrey_N_Intel
Employee
695 Views

Hi Jae, by running daalvars.sh script you set up the environment and instruct the compiler where to search for the library header file. Thanks, Andrey

0 Kudos
Jae_L_
Beginner
695 Views

Running daalvars.sh apparently didn't work. The installation procedure was straightforward following the guide, and yet unable to run this simple test code.

0 Kudos
Luc-Donald_D_
Beginner
702 Views

I want to install parallel Studio XE 2016 but i have windows 10 in my PC. How do i get started with DAAL for windows 10? 

0 Kudos
Gennady_F_Intel
Moderator
702 Views

Luc, officially DAAL as well as another components of Intel Parallel Studio XE 2016 ( MKL, IPP, TBB, Compiler, Vtune and etc... ) don't support Windows 10 yet, you may try to evaluate the DAALs functionality by explicitly linking from command line. See into User's guide the details how to do that. You may also try to do that from VS IDE.

0 Kudos
Jae_L_
Beginner
702 Views

Hi, This question is directed to anyone using DAAL in Linux environment. What Linux OS flavor are you using? Is DAAL working for you in Ubuntu 14.04?

0 Kudos
Gennady_F_Intel
Moderator
702 Views

Jae, look at the DAAL's System Requirements - You may find out the list of supported OS. 

..............

  • Ubuntu* 12.04 (Intel® 64)
  • Ubuntu* 13.04 (IA-32 / Intel® 64)
  • Ubuntu* 14.04 LTS (IA-32/Intel® 64
  • Ubuntu* 15.04 (IA-32 / Intel® 64)
0 Kudos
Reply