Multiplying numpy arrays using the dot method, when array elements are float, is producing Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll.
Here is the simplest code I can think of to create this problem.
import numpy as np A = np.array([[1,2],[2,1.1]]) x = np.array([3,4]) b = A.dot(x) print(b)
Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll.
"The procedure entry point mkl_aa_fw_get_workdivision could not be located in the dynamic link library C:\Users\..\Anaconda\Library\bin\mkl_intel_thead.dll"
Note with integers it works fine (change above matrix to integer value)
import numpy as np A = np.array([[1,2],[2,1]]) x = np.array([3,4]) b = A.dot(x) print(b)
Output = [11 10]
thanks for the example. I am not sure about which version are you using, but quick check the problem with the latest Intel Distribute Python doesn't reveal some problem:
[ 11. 10.4]
Python 3.6.3 :: Intel Corporation
It seems the same problem in https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/748309 . and https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/733207 . which link 3 separate libraries instead of one library mkl_rt.dll
we had asked Python numpy committee to fix the problem, could you please try Intel distribute python?
or other way, like try set environment or do preload dll etc.
Here is Linux
In windows, setting env by mkl/bin/mklvars.bat intel64, then run your python in same environment
or in python to add the library manually sys.path.append(" your path to the library") or https://stackoverflow.com/questions/35478526/pyintaller-numpy-intel-mkl-fatal-error-cannot-load-mkl-intel-thread-dll