我使用的是针对英特尔数学内核库构建的NumPy。我使用virtualenv,通常使用pip安装软件包。
但是,为了让NumPy找到MKL库,在编译之前必须在NumPy源目录中创建一个site.cfg文件,然后手动构建和安装。我可以编写整个过程的脚本,但我希望有一个更简单的解决方案。
我有一个标准的site.cfg文件,可以在版本控制下用于此目的。有没有pip命令行选项告诉它在构建包之前将特定文件复制到源目录?
或者,是否有任何环境变量可以设置而不是在site.cfg文件中提供库路径?这是我使用的site.cfg文件。它几乎是从Intel's site一字不差地取下来的。
[mkl]
library_dirs = /opt/intel/composer_xe_2013.1.117/mkl/lib/intel64
include_dirs = /opt/intel/composer_xe_2013.1.117/mkl/include
mkl_libs = mkl_rt
lapack_libs =
作为参考,我运行的是Ubuntu、Python 2.7和NumPy 1.6。
我最终制作了一个脚本来实现自动化。在这里,以防它能帮助别人。我已经在Python2.7中测试过它,但是它应该可以在其他地方工作,而无需进行重大修改。
安装NumPy以使用英特尔数学内核库的目标现在比安装MKL+NumPy要容易得多,因为Intel created pips:
以及
intel-scipy
、intel-scikit-learn
、pydaal
、tbb4py
、mkl_fft
、mkl_random
和更低级别的包(如果您需要的话)。同样,如果标准软件包已经安装在virtualenv中,则必须首先卸载它们。注意:
从源(https://github.com/numpy/numpy/blob/master/site.cfg.example)中:
这是可行的解决办法吗?您仍然需要使用global.numpy-site.cfg预加载主目录,但之后您就不必再忙于构建或安装了。
相关问题 更多 >
编程相关推荐