什么是LAPACK和BLAS的高性能版本?

时间:2015-11-24 13:50:54

标签: lapack blas

page IMSL说

  

为了获得更好的性能,我们建议您与High联系   LAPACK和BLAS的性能版本(如果有)。

什么是LAPACK和BLAS的高性能版本?

2 个答案:

答案 0 :(得分:1)

有很多好的实现可供选择:

  1. Intel MKL可能是英特尔机器上最好的。它不是免费的,所以这可能是个问题。
  2. 根据他们的benchmarkOpenBLAS与英特尔MKL相比并且是免费的
  3. Eigen也是一个选项,并且有一个较大的(虽然很旧)benchmark在小矩阵上表现出良好的表现(虽然它在技术上不是插入式BLAS库)
  4. ATLASOSKIPOSKI是自动调整内核的示例,它们声称可以在许多架构上运行
  5. 一般来说,如果没有基准测试就很难选择其中一种,因为:

    1. 一些实现在不同类型的矩阵上工作得更好。例如,Eigen在具有小秩(100s)的矩阵上工作得更好
    2. 一些针对特定架构进行了优化(例如,英特尔 )
    3. 在某些情况下,BLAS库的多线程可能与多线程应用程序(例如OpenBLAS)冲突
    4. 开发人员的基准可能倾向于强调在实施方面更有效的案例。
    5. 我建议选择一个或两个适用于您的用例的库,并根据您的特定(或类似)计算机上的特定应用程序对其进行基准测试。这很容易even after compiling your code

答案 1 :(得分:-2)

LAPACK和BLAS是性能库,它为线性方程组提供基本线性代数数学运算。您可以在计算机视觉中找到有用的库(例如,对象检测和分类),经典算法,建模,......

TAsking提供了LAPACK和BLAS性能库的完整C实现,这两个库都符合ISO-C99标准,并提供完整的文档和示例,您可以在此处查看 http://www.tasking.com/products/tasking-lapack-performance-libraries