我正在尝试在 Ubuntu 14.04 上使用 OpenBLAS 安装 Numpy 和 Scipy,以更快地运行 Theano。
我按照我在这里找到的说明进行操作:
git clone https://github.com/xianyi/OpenBLAS
cd OpenBLAS
make FC=gfortran
sudo make PREFIX=/opt/openblas install
在 /usr/local/lib 中安装 numpy:
git clone https://github.com/numpy/numpy
cd numpy
这是我的 site.cfg 文件:
[default]
include_dirs = /opt/openblas/include
library_dirs = /opt/openblas/lib
[openblas]
openblas_libs = openblas
library_dirs = /opt/openblas/lib
[lapack]
lapack_libs = openblas
library_dirs = /opt/openblas/lib
建造:
python setup.py build --fcompiler=gnu95
安装:
python setup.py install
我在 build/lib.linux-x86_64-2.7/numpy/core 下找不到 core/_dotblas.so,但是在测试点、乘法、SVD 和特征分解操作时我得到了很好的结果。
所以看起来 numpy 安装正确。当我尝试安装 Scipy 并且没有关于该部分的文档时出现问题,因为 pip install 应该可以工作。
在 /usr/local/lib 中克隆 scipy:
git clone https://github.com/scipy/scipy
获取 libatlas:
sudo apt-get install libatlas-base-dev
cd /usr/local/lib
sudo ln -sn /usr/lib/atlas-base/liblapack_atlas.a liblapack_atlas.a
sudo ln -sn /usr/lib/atlas-base/liblapack_atlas.so liblapack_atlas.so
scipy 的 site.cfg 文件:
[default]
include_dirs = /opt/openblas/include
library_dirs = /opt/openblas/lib
[atlas]
atlas_libs = lapack_atlas,openblas,cblas
构建 scipy:
python setup.py build
给我以下错误:
compiling C++ sources
C compiler: c++ -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -fPIC
compile options: '-Iscipy/interpolate/src -I/usr/local/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c'
c++: scipy/interpolate/src/_interpolate.cpp
sh: 1: c++: not found
sh: 1: c++: not found
error: Command "c++ -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -fPIC -Iscipy/interpolate/src -I/usr/local/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c scipy/interpolate/src/_interpolate.cpp -o build/temp.linux-x86_64-2.7/scipy/interpolate/src/_interpolate.o" failed with exit status 127
我花了很多时间寻找建议,但不知道下一步该做什么。