我最近从 Linux 切换到 Mac OS。我需要 BLAS 和 LAPACK 来做一些计算。通过查阅 BLAS 的 Wikipedia,我了解到这两个库已在 Mac OS 中实现。不过据说
那么,MAC BLAS/LAPACK 和原来的有什么区别呢? (我检查了维基百科中提到的引用资料,但没有找到有关差异的信息。)
最佳答案
BLAS 和 LAPACK 的实现有很多,也没有一个 Linux 版本。 netlib.org 上有例程接口(interface)的规范和引用实现,但该引用实现并不专注于特定平台(CPU、OS...)上的最大性能。
所以,Mac 库所做的是它有自己的代码来进行一些计算,这可能比引用库更快。它可以使用与引用 Fortran 代码不同的编程语言进行编程。
您还可以尝试许多其他实现:Intel MKL、ATLAS、GotoBLAS、OpenBLAS、Sun Performance Library、Cray Scientific Libraries 等。它们通常是用 C 或汇编语言编写的,用于特定的 CPU。
Apple 为其 Accelerate 框架和 vecLib(包含 BLAS)宣传的最重要的功能是 vector (SIMD) 指令的优化使用。这是所有其他版本也尝试做的。对于与其他实现的实际差异,有必要研究通常不可用的源代码(至少对于商业库而言)。
关于c++ - Mac OS 中的 BLAS/LAPACK 和原来的 BLAS/LAPACK 有什么区别(如果有的话)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32938359/