2.3 MKL数学核心函数库
Intel® 性能库提供了高度优化的函数,这些函数可充分利用Intel® 多核处理器,从而能够最大限度地获得应用程序的性能并减少开发时间。
Intel® 数学核心函数库(MKL)是一套经过高度优化的、线程安全的数学例程、函数,并在此基础上加入了在Linux集群环境下的ScaLAPACK(Scalable LAPACK – http://www.netlib.org/scalapack),它们专门针对计算性能要求很高的科学、工程及金融等领域的应用程序而设计。
2.3.1 MKL数学核心函数库功能与特性
此内核库的功能领域包括:
(1)线性代数 --BLAS、LAPACK
在Intel® 处理器中部署经过高度优化的基本线性代数例程(Basic Linear Algebra Subroutines,BLAS)和线性代数包(linear algebra package,LAPACK)(拥有数百个例程),它们提供的性能改善非常显著,远远超出其他替代性实现。
BLAS分为以下几个级别:
一级BLAS:矢量-矢量运算
15 个函数类型
48 个函数
二级BLAS:矩阵-矢量运算
26 个函数类型
66 个函数
三级BLAS:矩阵-矩阵运算
9 个函数类型
30 个函数
扩充BLAS:一级BLAS专用于稀疏向量运算
8 个函数类型
24 个函数
以下稀疏矩阵 BLAS 三角形矩阵解算器是采用 OpenMP 进行线程处理的。
mkl_dcsrmm - 压缩稀疏矩阵行格式的 3 级三角形矩阵解算器;