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

daal.h and daal_defines.h not found

Kelkar__Keyur
Beginner
766 Views

Hi all

I apologise for the esoteric request here but I am struggling to make the daal libraries work in Windows 10 and R 3.4.3. I have installed Parallel Studio 2018 and am running a Xeon Phi 3120A. 

I am basing my code on the following link: https://www.codeproject.com/Articles/1151606/Lightning-Fast-R-Machine-Learning-Algorithms and have installed RTools, Rcpp and inline packages, however as they have written the code in Linux, I am coming up with errors that (I believe) relate to the #include daal.h command:

4 # Create and register a Rcpp plugin
5 plug <- Rcpp:::Rcpp.plugin.maker(
6     include.before = "#include <daal.h> ",
7     libs = paste("-L$DAALROOT/lib/ -ldaal_core -ldaal_thread ",
8         "-ltbb -lpthread -lm", sep=""))
9 registerPlugin("daalNB", plug)

When i run this, it says "fatal error: daal.h: No such file or directory". When I then pasted the windows version of daal.h into the R/Include folder, it started complaining about "daal_defines.h" not found (and persists even when I copy that one into the Include folder).

Am I missing something in the syntax for "#include.<daal.h> ", or is it something else fundamental? I noted that the syntax on the Intel website is #include "daal.h" - is my mistake as simple as that?

Any help would be desperately welcomed!

Many thanks,

Keyur

 

 

0 Kudos
4 Replies
Gennady_F_Intel
Moderator
766 Views

Hi Keyur,

in that case you need to take and copy all daal header files from the daal\include folder. If you look in daal.h, you may see  the list of all header files needed for  compilation, for example this one - #include "services/daal_defines.h" and all others. 

0 Kudos
Kelkar__Keyur
Beginner
766 Views

Really appreciate your help Gennady,

I have managed to copy those across but am now getting the following error - would you mind providing me a steer?:

Error in compileCode(f, code, language = language, verbose = verbose) : 

  Compilation ERROR, function(s)/method(s) not created! In file included from file66814997eba.cpp:3:0:

C:/PROGRA~1/R/R-34~1.3/include/daal.h:18:0: warning: ignoring #pragma warning  [-Wunknown-pragmas]

 #pragma warning(disable:809)

 ^

In file included from C:/PROGRA~1/R/R-34~1.3/include/data_management/data/data_dictionary.h:28:0,

                 from C:/PROGRA~1/R/R-34~1.3/include/data_management/data_source/data_source.h:26,

                 from C:/PROGRA~1/R/R-34~1.3/include/data_management/data_source/csv_feature_manager.h:29,

                 from C:/PROGRA~1/R/R-34~1.3/include/daal.h:48,

                 from file66814997eba.cpp:3:

C:/PROGRA~1/R/R-34~1.3/include/data_management/data/data_archive.h: In constructor 'daal::data_management::interface1::DataArchive::DataArchive()':

C:/PROGRA~1/R/R-34~1.3/include/data_management/data/data_archive.h:450:13: warning: 'daal::data_management::interface1::DataArchive::minBlockSize' will be initialized after [-Wreorder]

     size_t

0 Kudos
Gennady_F_Intel
Moderator
766 Views

my previous answer was not too completely correct - instead of copying header folder, you need to set all needed daal's environment variables by using daalvars.bat file. Please refer to the DAAL User's guide for more details.

0 Kudos
Kelkar__Keyur
Beginner
766 Views

Thanks Gennady - certainly tried that; i ran the daalvars.bat file that is in the \daal\bin folder, and it flicked open a black window and closed it again. I assume this should have worked? Is there a way to find out whether it has done it?

It doesn't seem to have fixed the problem however...is there anything else I can try?

0 Kudos
Reply