Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

get_linear_algebra() does not detect Intel MKL #15

Closed
ck37 opened this issue Sep 23, 2017 · 9 comments
Closed

get_linear_algebra() does not detect Intel MKL #15

ck37 opened this issue Sep 23, 2017 · 9 comments

Comments

@ck37
Copy link

ck37 commented Sep 23, 2017

Hello,

It looks like get_linear_algebra() does not detect Intel MKL blas/lapack when R is compiled to use that - it just returns character(0) for $blas and $lapack.

Looks like it should be an easy fix to detect one of the MKL libraries though:

screen shot 2017-09-23 at 12 34 28 pm

This is using R 3.4.2-beta, Intel MKL 2015.6.233, and gcc 4.8.5.

(Here are the instructions I used to compile R with MKL on my cluster: https://github.com/ck37/savio-xsede-notes/blob/master/compile-R.md)

Cheers,
Chris

@ck37
Copy link
Author

ck37 commented Sep 24, 2017

Confirmed on another cluster as well (XSEDE bridges), this time with a more recent MKL and slightly different .so files displayed. Looks like libmkl_core.so might be the best one to look for, or just "libmkl".

[ck37@br005 3-analysis]$ lsof -p 17013 | grep libmkl
R       17013 ck37  mem    REG   0,42  28137653   54600213 /opt/intel/compilers_and_libraries_2017.4.196/linux/mkl/lib/intel64_lin/libmkl_core.so (br001.opa.bridges.psc.edu:/nfs/opt/intel)
R       17013 ck37  mem    REG   0,42  28634975   54600196 /opt/intel/compilers_and_libraries_2017.4.196/linux/mkl/lib/intel64_lin/libmkl_intel_thread.so (br001.opa.bridges.psc.edu:/nfs/opt/intel)
R       17013 ck37  mem    REG   0,42   9734508   54600205 /opt/intel/compilers_and_libraries_2017.4.196/linux/mkl/lib/intel64_lin/libmkl_intel_lp64.so (br001.opa.bridges.psc.edu:/nfs/opt/intel)

@csgillespie
Copy link
Owner

Thanks for the report. So in the above code, what should be returned for blas & lapack?

Thanks

@ck37
Copy link
Author

ck37 commented Sep 26, 2017

I think "mkl" would be reasonable - that is what R shows in ./configure when building from source.

@csgillespie
Copy link
Owner

Do you mkl for both blas & lapack?

I just noticed, but does the lp in libmkl_intel_lp64.so stand for lapack?

@ck37
Copy link
Author

ck37 commented Sep 26, 2017 via email

@csgillespie
Copy link
Owner

@ck37
Copy link
Author

ck37 commented Oct 23, 2017

Trying it on another system it looks like there is a different lapack path, so that current proposed grep search would need to be modified a bit:

/global/software/sl-6.x86_64/modules/langs/intel/2015.6.233/mkl/lib/intel64/libmkl_gf_lp64.so

csgillespie added a commit that referenced this issue Oct 26, 2017
@csgillespie
Copy link
Owner

csgillespie commented Oct 26, 2017

Thanks. I've updated the blas detection in the latest GitHub version. It should pick up your configuration. Would you check when you have a minute?

@csgillespie
Copy link
Owner

Using sessionInfo should return the correct lib

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants