繁体   English   中英

如何在Ubuntu中使用OpenBLAS代替Atlas numpy?

[英]How to use numpy with OpenBLAS instead of Atlas in Ubuntu?

我找了一个简单的方法来安装/编译Numpy与OpenBLAS,但没有找到一个简单的答案。 我所看到的所有文档都为我这样不习惯编译软件的人带来了太多的知识。 Ubuntu中有两个与OpenBLAS相关的软件包: libopenblas-baselibopenblas-dev 一旦安装完毕,我该怎么做才能再次安装Numpy? 谢谢!

请注意,安装这些OpenBLAS软件包时,Numpy不再工作:无法导入:ImportError:/usr/lib/liblapack.so.3gf:undefined symbol:ATL_chemv。 安装Theano及其Ubuntu的网站说明时也会出现问题。

这已经在这里注意到了。

运行sudo update-alternatives --all并将liblapack.so.3gf设置为/usr/lib/lapack/liblapack.so.3gf

要添加到接受的答案(使用update-alternatives ),原因是因为OpenBlas与Lapack的Atlas版本不兼容。 对于每个Blas和Lapack版本:

  1. 默认Blas +默认Lapack => OK
  2. OpenBlas +默认Lapack =>好的
  3. Atlas-Blas +默认Lapack =>好的
  4. Atlas-Blas + Atlas-Lapack =>好的
  5. OpenBlas + Atlas-Lapack =>错误! (以下案例在这里。)

这是来自个人经历(具有完全相同的问题)并且意识到为什么在这个比较博客中没有提到这样的组合。

顺便说一下,您可以在/etc/alternatives/找到必要的文件,通常使用以lib*开头的文件名。 对于每个人,请执行sudo update-alternatives --config <filename> 例如,执行以下操作:

  • sudo update-alternatives --config libblas.so
  • sudo update-alternatives --config libblas.so.3

改变Blas版本。

考虑使用EasyBuild( http://hpcugent.github.io/easybuild/ ),这是一个用于构建和安装软件的开源框架。

它允许您(非常容易地)使用各种编译器构建和安装(科学)软件,并使用不同的BLAS库(ATLAS,OpenBLAS,ACML,英特尔MKL ......)。

一旦你安装EasyBuild(专业提示:使用https://github.com/hpcugent/easybuild/wiki/Bootstrapping-EasyBuild中描述的引导程序),它归结为运行一个命令,如:

eb numpy-1.6.2-goolf-1.4.10-Python-2.7.3.eb -ldr

这将首先构建和安装完整的编译器工具链(goolf:GCC + OpenBLAS + OpenMPI + LAPACK + FFTW),然后使用该工具链构建Python和numpy。 在你吃午饭的时候。 ;-)

免责声明:我是EasyBuild开发人员之一。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM