2

我正在尝试在 Ubuntu 14.04 LTS(64 位)中使用 NumPy 加速矩阵运算。而不是使用 ATLAS(实际上当我使用 ATLAS 时,只有 1 个线程完全运行,其他 7 个打开的线程什么也不做,即使我指定OMP_NUM_THREADS=8了例如。不知道为什么。),我决定给 OpenBLAS尝试。

我花了几个小时学习了几个教程来构建OpenBLASNumPy的源代码,例如[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 位上正常运行。

4

1 回答 1

3

根据发行说明,对于那些也在努力使用 OpenBLAS 构建 NumPy 的人,该_dotblas模块自 NumPy 1.10.0 起不再可用。从这个帖子中找到。

于 2015-03-13T16:45:52.627 回答