【问题标题】:No _dotblas.so after installing OpenBLAS and Numpy安装 OpenBLAS 和 Numpy 后没有 _dotblas.so
【发布时间】:2015-05-15 14:59:45
【问题描述】:

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

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

【问题讨论】:

    标签: python ubuntu numpy openblas


    【解决方案1】:

    根据Release Notes,对于那些也在努力使用 OpenBLAS 构建 NumPy 的人,_dotblas 模块自 NumPy 1.10.0 起不再可用。发现自this post

    【讨论】:

    • 感谢您提出这个问题 - 我添加了一个 new test scriptmy previous guide 用于针对 OpenBLAS 编译 numpy
    • @ali_m:感谢您的精彩指导!我以前从中学到了很多东西。实际上,在您的指南中,您没有将 [atlas][lapack] 放在 site.cfg 文件中,而其他一些人则声称这两个很重要(请参阅我帖子中的一些链接)。如果[atlas][lapack] 真的有必要,您可以评论一下吗?
    • ATLAS 是另一种 BLAS 实现。 site.cfg 的那一部分只有在您想使用 ATLAS 而不是 OpenBLAS 时才重要(如果您同时包含 [atlas][openblas] 部分,那么我认为 numpy 优先考虑链接到 OpenBLAS 而不是 ATLAS,所以它不会产生任何区别)。如果您使用的是 OpenBLAS,[lapack] 部分也是不必要的,因为 OpenBLAS 的 a default build 还包含 netlib-lapack 的内容。
    • @ali_m:根据其他帖子,在我的帖子中,建议将[atlas]设置为openblas,即atlas_libs = openblas。所以这个尝试实际上是强制 NumPy 链接到openblas,以防万一在机器上安装了 OpenBLAS 和 ATLAS 时可能没有?正如你所提到的,在我目前的环境下,OpenBLAS 实际上是优先考虑的。
    猜你喜欢
    • 2018-01-25
    • 1970-01-01
    • 2015-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-28
    • 2018-02-22
    • 2013-06-04
    相关资源
    最近更新 更多