我正在尝试在 Ubuntu 14.04 LTS(64 位)中使用 NumPy 加速矩阵运算。而不是使用 ATLAS(实际上当我使用 ATLAS 时,只有 1 个线程完全运行,其他 7 个打开的线程什么也不做,即使我指定OMP_NUM_THREADS=8
了例如。不知道为什么。),我决定给 OpenBLAS尝试。
我花了几个小时学习了几个教程来构建OpenBLAS和NumPy的源代码,例如[1]、[2]、[3]、[4]和[5]。但是,它们都不能_dotblas.so
在编译 NumPy 后生成,这是加快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 位上正常运行。