如何在Anaconda中将MKL链接到已安装的Numpy?

4
>>> numpy.__config__.show()
atlas_threads_info:
  NOT AVAILABLE
blas_opt_info:
    libraries = ['f77blas', 'cblas', 'atlas']
    library_dirs = ['/home/admin/anaconda/lib']
    define_macros = [('ATLAS_INFO', '"\\"3.8.4\\""')]
    language = c
atlas_blas_threads_info:
  NOT AVAILABLE
openblas_info:
  NOT AVAILABLE
lapack_opt_info:
    libraries = ['lapack', 'f77blas', 'cblas', 'atlas']
    library_dirs = ['/home/admin/anaconda/lib']
    define_macros = [('ATLAS_INFO', '"\\"3.8.4\\""')]
    language = f77
openblas_lapack_info:
  NOT AVAILABLE
atlas_info:
    libraries = ['lapack', 'f77blas', 'cblas', 'atlas']
    library_dirs = ['/home/admin/anaconda/lib']
    define_macros = [('ATLAS_INFO', '"\\"3.8.4\\""')]
    language = f77
lapack_mkl_info:
  NOT AVAILABLE
blas_mkl_info:
  NOT AVAILABLE
atlas_blas_info:
    libraries = ['f77blas', 'cblas', 'atlas']
    library_dirs = ['/home/admin/anaconda/lib']
    define_macros = [('ATLAS_INFO', '"\\"3.8.4\\""')]
    language = c
mkl_info:
  NOT AVAILABLE

这是numpy。config.show()

而这个numpy基于Anaconda。

在/home/admin/anaconda/lib/python2.7/site-packages/numpy中。

同时,我也在/opt/intel/mkl中安装了MKL。

此外,当我在这个Anaconda和这个numpy中使用Theano时,似乎我可以使用MKL。

谢谢~


4
你是否在一所认可的大学就读?如果是,请在此处注册学术许可证(https://store.continuum.io/cshop/academicanaconda),然后执行“conda install accelerate”命令。 - jme
是的,连接到不同的BLAS/LAPACK的唯一方法是重新编译或获取不同的二进制文件。Anaconda学术许可证可以让您获得更快的二进制文件。从源代码编译numpy也并不是非常困难。 - IanH
@jme 谢谢你的回答。是的,我是一名学生。但是看起来,当我使用这个Anaconda和这个numpy时,我可以使用MKL。Theano不是基于Numpy吗? - Issac
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Issac
1个回答

0
要做到这一点,您需要获取Numpy源代码并在主文件夹中创建一个site.cfg文件,告诉Numpy在哪里查找MKL库。使用site.cfg.example文件作为指南;其中有一个关于MKL的部分,应该告诉您需要的确切行。
一旦您拥有了site.cfg文件,请运行python setup.py config。这将输出配置信息(看起来像numpy.config.show()的输出)。您应该在其中看到MKL库的路径(如果没有,请尝试调整site.cfg文件)。
然后,您可以使用python setup.py buildpython setup.py install进行构建和安装。您可能需要先卸载旧的Numpy。

我在博客上写了一篇关于使用OpenBLAS安装Numpy的文章。虽然你的情况可能有所不同,但我认为很多步骤是相似的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接