供应商是否发布他们自己的 LAPACK 库?

计算科学 拉帕克 布拉斯
2021-12-16 22:00:17

每个 CPU 供应商似乎都制作了专门在其硬件上运行的 BLAS 库。他们为 LAPACK 做同样的事情吗?或者这是一个非问题,因为 LAPACK 完全是根据 BLAS 库调用编写的?

2个回答

供应商 BLAS,如 Intel 的 MKL 或 AMD 的 ACML,甚至 GotoBLAS(现在的 OpenBLAS)都提供 Lapack 的一小部分子集的调整版本,如线性求解器和最小二乘求解器。我想这只是因为这些例程是 Lapack 中最常用的。除此之外,我认为特征系统等可能还有例程,但它们肯定不是完整的 Lapack 实现。

因此,英特尔和 AMD 都提供了类似 LAPACK 的软件及其 BLAS,分别称为 MKL 和 ACML。不知道有没有ARM开发者提供类似的软件。

LAPACK 的 NETLIB 版本在很大程度上依赖于 BLAS,通过简单地将 NETLIB LAPACK 与 MKL 或 ACML BLAS 链接起来,可能会获得大部分性能提升。

我猜想 NETLIB 和 MKL 或 ACML LAPACK 之间的差异会很小,但是由于 LAPACK 已经是供应商 BLAS 发行版的一部分,所以没有理由不使用它。

TLDR:他们确实分发 LAPACK,但这主要不是问题。