- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi there!
I am trying to compile R with the MKL BLAS. I followed those instructions, but I had a problem with configure:
configure:29696: checking whether double complex BLAS can be used
./conftest: error while loading shared libraries: libmkl_gf_lp64.so: cannot open shared object file: No such file or directory
And indeed, I have no such libmkl_gf_lp64.so installed, only the .a files:
find composer_xe_2013_sp1.0.080/mkl/lib/intel64/ -name "*blas*"
composer_xe_2013_sp1.0.080/mkl/lib/intel64/libmkl_blas95_lp64.a
composer_xe_2013_sp1.0.080/mkl/lib/intel64/libmkl_blas95_ilp64.a
How can I get the .so files, or compile R against the .a?
The machine is running SLES 11 (x86_64), and I downloaded the demo version of the MKL that I activated with the licence file I received by email. I installed all the components with the install.sh script.
Thanks,
Xavier
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Xavier,
I received your message. I saw both libmkl_gf_lp64.a and libmkl_gf_lp64.so are there. So you may try both dynamic link and static link.
It seems you have build the static version. but haven't seen the performance improve. Have you try the R bencharks as that article? What is the result without MKL and with MKL?
as static link, the check information is not too much. You may check if you have mkl link message in config.log or use ldd ./bin/exec/R and see if there is gomp library information?
Or try dynamic link again as you have the gf_lp64.so and intel thread library as below.
MKL_LIB_PATH=/opt/intel/composer_xe_2013.3.163/mkl/lib/intel64
OMP_LIB_PATH=/opt/intel/composer_xe_2013.3.163/compiler/lib/intel64
export LD_LIBRARY_PATH=${MKL_LIB_PATH}:${OMP_LIB_PATH}
MKL=" -L${MKL_LIB_PATH} -L${OMP_LIB_PATH} \
-Wl,--start-group \
-lmkl_gf_lp64 \
-lmkl_intel_thread \
-lmkl_core \
-Wl,--end-group \
-liomp5 -lpthread"
11 ./configure --with-blas="$MKL" --with-lapack
then check the result of ldd ./bin/exe/R.
Best Regards,
Ying
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Looks like the libmkl_gf_lp64 is not in your path.
The steps to build with gnu compilers are mentioned in this article
http://software.intel.com/en-us/articles/using-intel-mkl-with-r
Please make suer the MKL LIB path is correctly pointing to you mkl libs.
Vipin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Xavier,
Could you please go to /opt/intel/composer_xe_2013_sp1.0.80 ( latest version is /opt/intel/composer_xe_2013_sp1.1.106/) / mkl/lib/intel64
to see if you have the libmkl_gf_lp64.a and libmkl_gf_lp64.so in the directory? if no, then you may need reinstall MKL.
(you only list blas, it is true there are only blas95 static library, but no list all others ).
If you have only libmk_gf_lp64.a , then please use static link as shown in the article.
Best Regards,
Ying
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I cannot answer because "[My] submission has triggered the spam filter and will not be accepted".
I will try to split it up...
Ying H (Intel) wrote:Indeed I have only the .a there, alhtough other libraries have .so files as well:
Could you please go to /opt/intel/composer_xe_2013_sp1.0.80 ( latest version is /opt/intel/composer_xe_2013_sp1.1.106/) / mkl/lib/intel64to see if you have the libmkl_gf_lp64.a and libmkl_gf_lp64.so in the directory? if no, then you may need reinstall MKL.
(list triggers spam filter)
I repaired the installation, remove and reinstalled, but still have only the .a file.
Ying H (Intel) wrote:Ok I tried that. It seemed to work (ie I see this in the config.log):
If you have only libmk_gf_lp64.a , then please use static link as shown in the article.
configure:29172: $? = 0
configure:29179: result: yes
configure:29696: checking whether double complex BLAS can be used
configure:29767: result: yes
configure:29787: checking whether the BLAS is complete
However it didn't seem to use the MKL: at least R is just as slow as with the standard BLAS, and uses only 1 core. Here is what I used:
$ echo $LD_LIBRARY_PATH
/home/people/xavier/intel/composer_xe_2013_sp1.0.080/mkl/lib/intel64:/home/people/xavier/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64
$ echo $MKL
-L/home/people/xavier/intel/composer_xe_2013_sp1.0.080/mkl/lib/intel64 -Wl,--start-group /home/people/xavier/intel/composer_xe_2013_sp1.0.080/mkl/lib/intel64/libmkl_gf_lp64.a /home/people/xavier/intel/composer_xe_2013_sp1.0.080/mkl/lib/intel64/libmkl_gnu_thread.a /home/people/xavier/intel/composer_xe_2013_sp1.0.080/mkl/lib/intel64/libmkl_core.a -Wl,--end-group -lgomp -lpthread
$ echo $MKL_LIB_PATH
/home/people/xavier/intel/composer_xe_2013_sp1.0.080/mkl/lib/intel64
$ echo $OMP_LIB_PATH
/home/people/xavier/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64$ ./configure --with-blas="$MKL" --with-lapack --with-x=no --enable-memory-profiling --with-tcltk=no --prefix=/home/people/xavier/local
Any ideas on what could have gone wrong and how to check it?
Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am sorry I can not send the output of ls, it is filtered by the spam filter...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Xavier,
I received your message. I saw both libmkl_gf_lp64.a and libmkl_gf_lp64.so are there. So you may try both dynamic link and static link.
It seems you have build the static version. but haven't seen the performance improve. Have you try the R bencharks as that article? What is the result without MKL and with MKL?
as static link, the check information is not too much. You may check if you have mkl link message in config.log or use ldd ./bin/exec/R and see if there is gomp library information?
Or try dynamic link again as you have the gf_lp64.so and intel thread library as below.
MKL_LIB_PATH=/opt/intel/composer_xe_2013.3.163/mkl/lib/intel64
OMP_LIB_PATH=/opt/intel/composer_xe_2013.3.163/compiler/lib/intel64
export LD_LIBRARY_PATH=${MKL_LIB_PATH}:${OMP_LIB_PATH}
MKL=" -L${MKL_LIB_PATH} -L${OMP_LIB_PATH} \
-Wl,--start-group \
-lmkl_gf_lp64 \
-lmkl_intel_thread \
-lmkl_core \
-Wl,--end-group \
-liomp5 -lpthread"
11 ./configure --with-blas="$MKL" --with-lapack
then check the result of ldd ./bin/exe/R.
Best Regards,
Ying
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This time it worked! I'm not quite sure what changed, but it is now properly linked!
$ ldd /home/people/xavier/local/lib64/R/bin/exec/R
linux-vdso.so.1 => (0x00007ffff7ffe000)
libmkl_gf_lp64.so => /home/people/xavier/intel/composer_xe_2013_sp1.0.080/mkl/lib/intel64/libmkl_gf_lp64.so (0x00007ffff78db000)
libmkl_intel_thread.so => /home/people/xavier/intel/composer_xe_2013_sp1.0.080/mkl/lib/intel64/libmkl_intel_thread.so (0x00007ffff6840000)
libmkl_core.so => /home/people/xavier/intel/composer_xe_2013_sp1.0.080/mkl/lib/intel64/libmkl_core.so (0x00007ffff5312000)
libiomp5.so => /home/people/xavier/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libiomp5.so (0x00007ffff4ff9000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ffff4da8000)
libgfortran.so.3 => /usr/lib64/libgfortran.so.3 (0x00007ffff4a90000)
libm.so.6 => /lib64/libm.so.6 (0x00007ffff4817000)
libreadline.so.5 => /lib64/libreadline.so.5 (0x00007ffff45d4000)
librt.so.1 => /lib64/librt.so.1 (0x00007ffff43cb000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007ffff41c7000)
libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x00007ffff3fb8000)
libc.so.6 => /lib64/libc.so.6 (0x00007ffff3c44000)
/lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ffff3a2e000)
libquadmath.so.0 => /usr/lib64/libquadmath.so.0 (0x00007ffff37f7000)
libncurses.so.5 => /lib64/libncurses.so.5 (0x00007ffff35af000)
And it clearly uses multiple cores. Thanks!
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page