I try to set up Breeze on my Windows 7 x64 laptop to use intel MKL system optimized libraries for BLAS and LAPACK. I followed the netlib-java manual and created the libblas3.dll and liblapack3.dll symlinks to point to mkl_rt. I also made sure that all the other mkl libraries are on PATH and java.library.path.
The BLAS part works fine, but when netlib java tries to load the NativeSystemLAPACK implementation, I hit the MKL FATAL ERROR: cannot load mkl_intel_thread.dll. I tried to look dor the source of the error with dependency walker and attached visual studio, but I couldn't find anything. This IRC chat I found on mlapack.org gives a few hint why this is: http://www.mlpack.org/irc/mlpack.20150330.html
However, I found a workaround: I need to manually load mkl_rt.dll before netlib java LAPACK tries to initialize itself. If I call System.loadLibrary(mkl_rt), everything goes fine.
When netlib java LAPACK tries to load mkl_rt alone using the symlinks I provided, something goes wrong and I have the error. Please note that BLAS loads successfully in both cases, and I triple checked that both libblas3.dll and liblapack3.dll points to the same mkl_rt. (I wouldn't have an internal MKL error if this hadn't worked anyway).
I would be really interested why this is happening, and a fix or updated documentation would be warmly welcomed.
I'm using (or trying to use) breeze 2.11 and MKL 11.1
I try to set up Breeze on my Windows 7 x64 laptop to use intel MKL system optimized libraries for BLAS and LAPACK. I followed the netlib-java manual and created the libblas3.dll and liblapack3.dll symlinks to point to mkl_rt. I also made sure that all the other mkl libraries are on PATH and java.library.path.
The BLAS part works fine, but when netlib java tries to load the NativeSystemLAPACK implementation, I hit the MKL FATAL ERROR: cannot load mkl_intel_thread.dll. I tried to look dor the source of the error with dependency walker and attached visual studio, but I couldn't find anything. This IRC chat I found on mlapack.org gives a few hint why this is: http://www.mlpack.org/irc/mlpack.20150330.html
However, I found a workaround: I need to manually load mkl_rt.dll before netlib java LAPACK tries to initialize itself. If I call System.loadLibrary(mkl_rt), everything goes fine. When netlib java LAPACK tries to load mkl_rt alone using the symlinks I provided, something goes wrong and I have the error. Please note that BLAS loads successfully in both cases, and I triple checked that both libblas3.dll and liblapack3.dll points to the same mkl_rt. (I wouldn't have an internal MKL error if this hadn't worked anyway).
I would be really interested why this is happening, and a fix or updated documentation would be warmly welcomed.
I'm using (or trying to use) breeze 2.11 and MKL 11.1
Thank you,
David