我正在尝试在 Ubuntu 14.04 LTS(64 位)中使用 NumPy 加速矩阵运算。而不是使用 ATLAS(实际上,当我使用 ATLAS 时,只有 1 个线程完全运行,另外 7 个打开的线程什么也不做,即使我指定了 OMP_NUM_THREADS=8
为例。不知道为什么。),我决定尝试一下 OpenBLAS。
我花了几个小时按照几个教程来构建 OpenBLAS 的源代码和 NumPy ,例如[1] , [2] , [3] , [4] ,和[5] 。但是,它们都无法在编译 NumPy 后生成 _dotblas.so
,这是加速矩阵之间 dot
运算的关键文件。
请问有人在 Ubuntu 14.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
更新:以上脚本经过测试,可以在 Ubuntu 12.04 和 14.04 64 位上正常运行。
最佳答案
对于那些也在努力使用 OpenBLAS 构建 NumPy 的人来说,根据 Release Notes 自 NumPy 1.10.0 起,_dotblas
模块不再可用。 。发现于this post .
关于python - 安装 OpenBLAS 和 Numpy 后没有 _dotblas.so,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29026976/