I typically get the latest scientific Python packages from here. I noticed that there are two version of numpy
made available - standard and MKL versions. My questions:
- How much of performance improvements do we actually get from switching to the MKL version? Does anyone have benchmarks after testing it on real datasets and problems?
Do we need to have proprietary libraries from Intel to run the MKL version? I ask this because on installing the MKL version from the above link numpy seems to work just fine - also I did not see any performance improvement. This made me curious and I ran this command
np.__config__.show()
based on the answer here and it gives me the following:lapack_opt_info: libraries = ['mkl_lapack95_lp64', 'mkl_blas95_lp64', 'mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'libiomp5md', 'libifportmd', 'mkl_lapack95_lp64', 'mkl_blas95_lp64', 'mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'libiomp5md', 'libifportmd'] library_dirs = ['C:/Program Files (x86)/Intel/Composer XE/mkl/lib/intel64'] define_macros = [('SCIPY_MKL_H', None)] include_dirs = ['C:/Program Files (x86)/Intel/Composer XE/mkl/include'] blas_opt_info: libraries = ['mkl_lapack95_lp64', 'mkl_blas95_lp64', 'mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'libiomp5md', 'libifportmd'] library_dirs = ['C:/Program Files (x86)/Intel/Composer XE/mkl/lib/intel64'] define_macros = [('SCIPY_MKL_H', None)] include_dirs = ['C:/Program Files (x86)/Intel/Composer XE/mkl/include'] openblas_lapack_info: NOT AVAILABLE lapack_mkl_info: libraries = ['mkl_lapack95_lp64', 'mkl_blas95_lp64', 'mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'libiomp5md', 'libifportmd', 'mkl_lapack95_lp64', 'mkl_blas95_lp64', 'mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'libiomp5md', 'libifportmd'] library_dirs = ['C:/Program Files (x86)/Intel/Composer XE/mkl/lib/intel64'] define_macros = [('SCIPY_MKL_H', None)] include_dirs = ['C:/Program Files (x86)/Intel/Composer XE/mkl/include'] blas_mkl_info: libraries = ['mkl_lapack95_lp64', 'mkl_blas95_lp64', 'mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'libiomp5md', 'libifportmd'] library_dirs = ['C:/Program Files (x86)/Intel/Composer XE/mkl/lib/intel64'] define_macros = [('SCIPY_MKL_H', None)] include_dirs = ['C:/Program Files (x86)/Intel/Composer XE/mkl/include'] mkl_info: libraries = ['mkl_lapack95_lp64', 'mkl_blas95_lp64', 'mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'libiomp5md', 'libifportmd'] library_dirs = ['C:/Program Files (x86)/Intel/Composer XE/mkl/lib/intel64'] define_macros = [('SCIPY_MKL_H', None)] include_dirs = ['C:/Program Files (x86)/Intel/Composer XE/mkl/include']
So I tried browsing to the directory C:/Program Files (x86)/Intel/Composer XE/mkl/include
to see if anything was there - but I do not have those libraries installed. So ideally it should not work right because the files are missing?