rust-math / intel-mkl-src

Redistribute Intel MKL as a crate
Other
81 stars 22 forks source link

Use new oneAPI distribution? #55

Open ethanhs opened 3 years ago

ethanhs commented 3 years ago

I realize this may be a Bad Idea because the entire distribution is 20+ GB (!) but it seems Intel wants to make oneAPI the future of the MKL. Perhaps that could be used instead of the current setup? It seems when I go to download it, the link is https://registrationcenter-download.intel.com/akdlm/irc_nas/17453/w_BaseKit_p_2021.1.0.2664_offline.exe (presumably this changes from time to time based on versions, I'm not sure if old versions stay up). Or perhaps there could be a system by which you could have a "system" mkl install... (aka the user downloaded and installed oneAPI already)

rationalis commented 3 years ago

This is basically already working in 0.2.0 0.6.0 (0.2.0 of intel-mkl-tool), you just need to set the MKLROOT environment variable, i.e. (on Windows) C:\Program Files (x86)\Intel\oneAPI\mkl\2021.1.1\.

Also, the oneAPI online installer can be used to selectively install components, and MKL by itself is ~850MB downloaded, 4GB installed.

dunnock commented 3 years ago

FWIW MKLROOT env var is set automatically along with some other paths via C:\Program Files (x86)\Intel\oneAPI\setvars.bat

There is still an issue with linking with iomp5.lib as it is now located under %ONEAPI_ROOT%\compiler\latest\windows\compiler\lib\intel64_win and is named libiomp5md.lib

Pushed a PR to support this out of the box https://github.com/rust-math/intel-mkl-src/pull/64