我知道 ATLAS 能够针对编译它的机器进行自我优化,因此通过从源代码编译可以找到最大的好处。从源代码编译 LAPACK 有什么好处吗?只安装预构建的软件包会容易得多。
从源代码编译 LAPACK 与从 Ubuntu 安装预构建包相比有什么好处吗?
计算科学
表现
拉帕克
2021-12-18 01:21:04
3个回答
OpenBlas 非常快,因此您可以将其链接到 LAPACK。您是否尝试过 CPU 供应商提供的 LAPACK/BLAS 预编译版本?例如 AMD ACML(免费)或 Intel MKL(在 linux 上免费用于非商业和非学术用途)?您只需要解压并运行安装文件。
在我看来,使用 ATLAS 的唯一优势是当您使用一些不寻常的 CPU 时。否则使用 CPU 供应商提供的。还有 nVIDIA CUDA 和 AMD OpenCL 版本,它们真的很震撼。
编辑:请记住,您始终可以从源代码构建 Ubuntu DEB 包,这通常比从源代码编译软件容易得多。
由于编译方式,存储库包不能安全地与线程一起使用。我在Lapack 论坛上报告了这个错误,但解决方法或解决方案需要很长时间才能渗透到存储库中。如果您自己编译,请务必将“-frecursive”添加到 gfortran。
根据我的经验,在最新版本的 ubuntu 上使用 blas/lapack 的最佳方法是使用打包的 openblas。
对于它的价值,我主要通过 python numpy/scipy 使用 blas/lapack,并且使用 openblas 将一些线性代数的速度提高了 200 倍,而不是默认值。我尝试过使用自定义 ATLAS,但这是一个巨大的痛苦,并且与 openblas 相比并没有提供太多加速,但我可能做错了。
其它你可能感兴趣的问题