Mac OS中的BLAS/LAPACK和原始的BLAS/LAPACK有何不同(如果有的话)?

4
我最近从Linux切换到Mac OS。我需要使用BLAS和LAPACK来进行一些计算。通过查看BLAS的维基百科,我了解到这两个库已经在Mac OS中实现。然而,据说:

Apple的Mac OS X和iOS框架包括BLAS和LAPACK的调整版本。 (https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms)

那么,MAC BLAS/LAPACK和原始的有什么区别?(我查看了维基百科中提到的参考资料,但没有找到有关差异的信息。)

1个回答

3
有许多BLAS和LAPACK的实现,也没有单一的Linux版本。这些例程的接口规范和参考实现可以在netlib.org上找到,但是该参考实现并不专注于在特定平台(CPU、操作系统等)上获得最大性能。
因此,Mac库的作用是具有自己的代码来执行某些计算,这可能比参考代码更快。它可能是用不同的编程语言编写的,而不是参考Fortran代码。
还有许多其他的实现可供尝试:Intel MKL、ATLAS、GotoBLAS、OpenBLAS、Sun Performance Library、Cray Scientific Libraries等。通常它们是用C或特定CPU的汇编语言编写的。
苹果为其Accelerate框架和vecLib(其中包含BLAS)宣传的最重要功能是优化向量(SIMD)指令的使用。这也是其他所有版本都尝试做的事情。要了解与其他实现的实际区别,需要研究源代码,但商业库的源代码通常不可用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接