英特尔
® 
数学核心函数库 10.0 - BLAS/LAPACK
PrintEmail to a friendSupportNewsletterRSSDigg thisdel.icio.us

BLAS/LAPACKLINPACK


免费评估版软件 ›

Linux*免费非商业下载 ›

购买产品 ›

BLAS 和 LAPACK
BLAS 和 LAPACK 库是久经考验的传统标准,用于解算各种线性代数问题。英特尔® 数学核心函数库(英特尔® MKL)包含已针对英特尔® 处理器高度优化的 BLAS 和 LAPACK 实现。与 BLAS 和 LAPACK 的其他实现相比,英特尔® MKL 使您能够获得极大的性能提升。

BLAS
基本线性代数子程序 (BLAS) 提供作为许多线性代数问题基础的基本矢量和矩阵运算。英特尔® MKL BLAS 支持包括:

  • BLAS 级别 1 - 矢量间的运算
  • BLAS 级别 2 - 矢量与矩阵间的运算
  • BLAS 级别 3 - 矩阵间的运算
  • 稀疏 BLAS - BLAS 级别 1、2 和 3 的扩展

针对 BLAS 级别 2 和 3 提供了多种矩阵存储方案(完整、压缩和带状)。

英特尔 MKL 内的所有 BLAS 函数都是线程安全的。使用来自英特尔 MKL 的并行化(线程化)BLAS 例程,您无需改变应用程序即可获得增强的多处理性能。

稀疏 BLAS
使用已针对数据稀疏性进行细致优化的稀疏 BLAS 例程,可以大大节约计算机时间和内存。稀疏 BLAS 包含对稀疏数据(大多数元素都是零的数据)执行常见矢量和矩阵运算的一组函数。稀疏 BLAS 涵盖了针对双精度实函数选定的级别 1、2 和 3 BLAS 例程。稀疏 BLAS 通常会与稀疏矩阵解算器结合使用。英特尔 MKL 支持 NIST* 和 SparseKit* 类型的接口。

支持以下矩阵类型和数据存储格式:
矩阵类型数据存储格式
一般矩阵压缩稀疏行 (CSR)
对称矩阵压缩稀疏列 (CSC)
三角形矩阵块稀疏行 (BSR)
对角矩阵对角 (DIA)
斜对称坐标 (COO)
地平线矩阵

LAPACK
英特尔® MKL 中包含的线性代数程序包(LAPACK)例程用于解算以下问题:
  • 线性方程
  • 特征值问题
  • 最小平方问题
  • 奇异值问题

LAPACK 例程支持实数和复数数据。对于具有下列类型矩阵的方程组,支持这些例程:一般矩阵、带状矩阵、对称或厄密共轭矩阵、三角形和对角矩阵。英特尔® MKL 内的 LAPACK 例程提供了多种矩阵存储方案。LAPACK 例程通过 Fortran 接口使用。
性能
双精度一般矩阵乘法(DGEMM)是用于密集线性代数的重负荷例程。下图比较了英特尔® MKL 8.0 与 ATLAS*(自动调整线性代数软件)之间的 DGEMM 性能。ATLAS 是常用的线性代数软件包,其中包含完整的 BLAS API 和一小部分 LAPACK API。如欲了解更多 ATLAS 信息,请访问 http://math-atlas.sourceforge.net/ 。*

已对英特尔 MKL 进行了优化和调试,以实现更高的性能并针对多线程提供更出色的伸缩能力。在当今双核和四核处理器上使用英特尔 MKL 所实现的性能是使用其他备选方案的 2 到 5 倍。下表可表明以下几点:
1. 英特尔 MKL 与 ATLAS* 相比具有明显的性能优势。
2. 英特尔 MKL BLAS 的多处理器/线程伸缩性能非常出色。


点击放大


点击放大

下图显示了使用多个线程时英特尔 MKL DGEMM 出色的可伸缩性能,以及相对于 ATLAS 的性能优势。


摘要
英特尔 MKL 内包含的 BLAS 和 LAPACK 功能针对英特尔处理器进行了高度优化,与 BLAS 和 LAPACK 的其他实现相比,它可以极大地提高应用程序的性能。

参考
§性能测试和等级评定均使用特定的计算机系统和/或组件进行测量,这些测试反映了英特尔产品的大致性能。任何系统设计或配置方面的差异均可能对实际性能结果造成影响。购买者应进行多方咨询,以评估他们考虑购买的系统或组件的性能。如欲了解更多关于英特尔产品性能与性能测试信息,请访问http://www.intel.com/cn/software/products/



英特尔® 软件   
英特尔® 软件网络