Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Mac OS中的BLAS/LAPACK与原来的BLAS/LAPACK有什么区别(如果有的话)?_C++_Macos_Fortran_Lapack_Blas - Fatal编程技术网

C++ Mac OS中的BLAS/LAPACK与原来的BLAS/LAPACK有什么区别(如果有的话)?

C++ Mac OS中的BLAS/LAPACK与原来的BLAS/LAPACK有什么区别(如果有的话)?,c++,macos,fortran,lapack,blas,C++,Macos,Fortran,Lapack,Blas,我最近从Linux切换到Mac OS。我需要布拉斯和拉帕克做一些计算。通过查看BLAS的维基百科,我了解到这两个库已经在Mac OS中实现。但据说, 苹果的MacOSX和iOS框架,包括BLAS和LAPACK的优化版本。 () 那么,MAC BLAS/LAPACK与原始版本有什么区别?(我查看了维基百科中提到的参考资料,但没有找到关于差异的信息。)BLAS和LAPACK有很多实现,也没有单一的Linux版本。有一个例程接口规范和上的参考实现,但该参考实现并没有关注特定平台(CPU、OS…)上的最

我最近从Linux切换到Mac OS。我需要布拉斯和拉帕克做一些计算。通过查看BLAS的维基百科,我了解到这两个库已经在Mac OS中实现。但据说,

苹果的MacOSX和iOS框架,包括BLAS和LAPACK的优化版本。 ()


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

BLAS和LAPACK有很多实现,也没有单一的Linux版本。有一个例程接口规范和上的参考实现,但该参考实现并没有关注特定平台(CPU、OS…)上的最大性能

因此,Mac库所做的是,它有自己的代码来进行一些计算,这可能比参考库更快。它可以用与参考Fortran代码不同的编程语言编程

您还可以尝试许多其他实现:Intel MKL、ATLAS、GotoBLAS、OpenBLAS、Sun Performance Library、Cray Scientific Library和其他。它们通常是用C或汇编语言为特定的CPU编写的

苹果为其Accelerate框架和vecLib(包含BLAS)所宣传的最重要的功能是优化了vector(SIMD)指令的使用。这也是所有其他版本都试图做到的。对于与其他实现的实际差异,有必要研究通常不可用的源代码(至少对于商业库是如此)