gpt4 book ai didi

c - BLAS、LAPACK 和 ATLAS 之间有什么关系

转载 作者:太空狗 更新时间:2023-10-29 16:14:30 25 4
gpt4 key购买 nike

我不明白 BLAS、LAPACK 和 ATLAS 之间的关系以及我应该如何将它们一起使用!我一直在浏览他们所有的手册,我对 BLAS 和 LAPACK 有一个大致的了解,以及如何使用我找到的很少的例子来使用它们,但是我找不到任何使用 ATLAS 的实际例子来了解它与这两个。

我正在尝试在矩阵上做一些低级的工作,我的主要语言是 C。首先我想使用 GSL,但它说如果你想要最好的性能,你应该使用 BLAS 和 ATLAS。是否有任何好的网页提供了一些很好的例子来说明如何一起使用这些(在 C 中)?换句话说,我正在寻找有关使用这三个(或它们的任何子集!)的教程。总之我很困惑!

最佳答案

BLAS 是低级矩阵和 vector 算术运算的集合(“将一个 vector 乘以一个标量”,“将两个矩阵相乘并添加到第三个矩阵”,等等......)。

LAPACK 是高级线性代数运算的集合。诸如矩阵分解(LU、LLt、QR、SVD、Schur 等)之类的东西,用于执行诸如“找到矩阵的特征值”或“找到矩阵的奇异值”或“求解线性系统”之类的事情”。 LAPACK 建立在 BLAS 之上;许多 LAPACK 用户使用 LAPACK 接口(interface),根本不需要了解 BLAS。 LAPACK 通常与 BLAS 分开编译,并且可以使用您可用的任何高度优化的 BLAS 实现。

ATLAS 是 BLAS 接口(interface)的一个可移植的相当好的实现,它还实现了一些最常用的 LAPACK 操作。

“您应该使用”的内容在某种程度上取决于您尝试执行的操作以及您使用的平台的详细信息。但是,“使用 ATLAS + LAPACK”不会错得太远。

关于c - BLAS、LAPACK 和 ATLAS 之间有什么关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17858104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com