几天来,我一直试图在linux-2.6.18-308.24.1.el5
系统上使用gcc-4.7.2
在linux-2.6.18-308.24.1.el5
系统上安装numpy-1.7.1
和{MKL
成功地编译了R-3.0.1
。在
我修改了numpy-1.7.1
中的site.cfg
文件,如下所示:
[mkl]
library_dirs = /sb/software/libraries/MKL/10.3/lib/intel64
include_dirs = /sb/software/libraries/MKL/10.3/include
mkl_libs = mkl_rt
lapack_libs =
当我调用python setup.py install
时,它找到BLAS
和LAPACK
的MKL
库。在此之前,没有投诉或警告。一旦我试图用numpy
做一些事情,它就会崩溃。在
这似乎是一个已知的问题(link to source),其中libiomp5
不是由libmkl_rt
加载的。当我将libiomp5
的路径添加到site.cfg
中的library_dirs
变量时,numpy
无法检测所有库。在
我甚至尝试过下面的方法来强制gcc
使用它自己的openMP
库/头,但是没有用。在
CFLAGS='-fopenmp -lgomp' python setup.py install
在这件事上,如能得到任何帮助或建议,我将不胜感激。请不要犹豫,让我知道我忽略了这个线程中的关键信息。在
编辑:我在x86_64
平台上运行。在
您需要将路径添加到libomp5:composer_xe_install_path/compiler/lib/intel64 去你的图书馆路。对我来说,路径是:/opt/apps/intel/16.1/compilers_and_libraries_2016.1.150/linux/compiler/lib/intel64
将
libiomp5
的路径添加到LD_MODULES_PATH
环境中。我当前使用的服务器使用modules
库来管理服务器范围内的应用程序和库。我以前只使用了独立的MKL/10.3
模块,但是用它代替ifort_icc/13.0
(它也包含MKL
)增加了icc
相关的路径到LD_MODULES_PATH
。使用上面描述的相同的site.cfg
似乎可以工作,numpy
运行测试套件。在我不知道这是否是最优雅的解决方案,但它现在可以解决问题。在
相关问题 更多 >
编程相关推荐