我正在尝试在Ubuntu14.04LTS(64位)中使用NumPy来加速矩阵操作。而不是使用ATLAS(实际上,当我使用ATLAS时,只有1个线程完全运行,其他7个打开的线程什么也不做,即使我指定了OMP_NUM_THREADS=8
。不知道为什么),我决定试试OpenBLAS。在
我花了好几个小时遵循几个教程来构建OpenBLAS和{a2}的源代码,例如[1],[2],[3],[4],和{a7}。但是,它们都不能在编译NumPy之后生成_dotblas.so
,这是加速矩阵间dot
运算的关键文件。在
请问是否有人在Ubuntu14.04下成功地构建了NumPy和OpenBLAS?如果是的话,请告诉我怎么办?在
谢谢。在
更新:
以下是我从以上五篇文章中总结出来的,并在我的机器上尝试过的:
# OpenBLAS
git clone git://github.com/xianyi/OpenBLAS
cd OpenBLAS
make FC=gfortran
sudo make PREFIX=/opt/OpenBLAS/ install
cd ..
# let the system know
sudo sh -c 'echo "/opt/OpenBLAS/lib" > /etc/ld.so.conf.d/openblas.conf'
sudo ldconfig
# Numpy
git clone https://github.com/numpy/numpy
cd numpy
vim site.cfg # and put the following content within #### in site.cfg
####
[default]
library_dirs = /opt/OpenBLAS/lib
[atlas]
atlas_libs = openblas
library_dirs = /opt/OpenBLAS/lib
[lapack]
lapack_libs = openblas
library_dirs = /opt/OpenBLAS/lib
####
export BLAS=/opt/OpenBLAS/lib/libopenblas.a
export LAPACK=/opt/OpenBLAS/lib/libopenblas.a
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/OpenBLAS/lib/
python setup.py build
sudo python setup.py install
更新:上面的脚本已经过测试,可以在ubuntu12.04和14.04 64位上正常工作。在
根据Release Notes,对于那些还在努力用OpenBLAS构建NumPy的人来说,
_dotblas
模块自NumPy 1.10.0之后就不再可用了。从this post找到。在相关问题 更多 >
编程相关推荐