0. BLAS
BLAS(Basic Linear Algebra Subprograms)描述和定义线性代数运算的规范(specification),而不是一种具体实现,对其的实现包括:
- AMD Core Math Library (ACML),
- ATLAS,
- Intel Math Kernel Library (MKL),
- OpenBLAS.
BLAS 下的函数分为如下 3 个级别:
level 1(
O(n) ),称为gemv
(generalized matrix-vector multiplication)y←αx+y level 2(
O(n2) ),称为gemm
(general matrix multiplication):y←αAx+βy level 3(
O(n3) ):C←αAB+βC
1. 主要内容
Intel MKL(Math Kernel Library),提供了优化的数学计算函数。
- BLAS(level 1, 2, 3)和 LAPACK 线性代数程序:支持向量、向量-矩阵、矩阵-矩阵运算;
- 快速傅里叶变换(FFT),
- 向量数学库(Vector Math Libray,VML),优化后的针对向量的数学操作程序;