确保numpy在mac pro上使用MKL库

use*_*752 18 numpy enthought intel-mkl

我正在使用Enthought的Canopy/EPD版本的python,它附带了与MKL相关联的numpy.我目前在我的工作计算机(Windows 7,四核i5 @ 3.33 Ghz,4 GB RAM)和我的家庭工作站(Mac Pro 3.1,Ubuntu 12.04,2x四核Xeon)上并行运行一组模拟(使用PP) @ 2.8 Ghz,6 GB ram).

但是当我对我的模拟进行基准测试时,它们在工作计算机上的运行速度要快得多(每次迭代35秒,而在mac pro上为60秒).问题是核心(易并行问题)之间完美的平衡,所以我怀疑是家里的Linux工作站上的MKL库的问题.有没有办法验证MKL库实际上是否在python中使用.我已经读过线程,说你可以检查python是否链接到它,但它不能确保它是正确构建的并且实际上正在使用.

Jon*_*rch 25

>>> numpy.show_config()
Run Code Online (Sandbox Code Playgroud)

您将看到类似这样的输出,表明MKL确实是链接的.

lapack_opt_info:
    libraries = ['mkl_lapack95_lp64', 'mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'mkl_mc', 'mkl_mc3', 'pthread']
    library_dirs = ['/Users/vagrant/src/master-env/Resources/Python.app/Contents/MacOS/../../../../lib']
    define_macros = [('SCIPY_MKL_H', None)]
    include_dirs = ['/Users/vagrant/src/master-env/Resources/Python.app/Contents/MacOS/../../../../include']
blas_opt_info:
    libraries = ['mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'mkl_mc', 'mkl_mc3', 'pthread']
    library_dirs = ['/Users/vagrant/src/master-env/Resources/Python.app/Contents/MacOS/../../../../lib']
    define_macros = [('SCIPY_MKL_H', None)]
    include_dirs = ['/Users/vagrant/src/master-env/Resources/Python.app/Contents/MacOS/../../../../include']
openblas_info:
NOT AVAILABLE
lapack_mkl_info:
    libraries = ['mkl_lapack95_lp64', 'mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'mkl_mc', 'mkl_mc3', 'pthread']
    library_dirs = ['/Users/vagrant/src/master-env/Resources/Python.app/Contents/MacOS/../../../../lib']
    define_macros = [('SCIPY_MKL_H', None)]
    include_dirs = ['/Users/vagrant/src/master-env/Resources/Python.app/Contents/MacOS/../../../../include']
blas_mkl_info:
    libraries = ['mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'mkl_mc', 'mkl_mc3', 'pthread']
    library_dirs = ['/Users/vagrant/src/master-env/Resources/Python.app/Contents/MacOS/../../../../lib']
    define_macros = [('SCIPY_MKL_H', None)]
    include_dirs = ['/Users/vagrant/src/master-env/Resources/Python.app/Contents/MacOS/../../../../include']
mkl_info:
    libraries = ['mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'mkl_mc', 'mkl_mc3', 'pthread']
    library_dirs = ['/Users/vagrant/src/master-env/Resources/Python.app/Contents/MacOS/../../../../lib']
    define_macros = [('SCIPY_MKL_H', None)]
    include_dirs = ['/Users/vagrant/src/master-env/Resources/Python.app/Contents/MacOS/../../../../include']
Run Code Online (Sandbox Code Playgroud)