BLAS快速入门
一.简介
BLAS【Basic Linear Algebra Subprograms,基础线性代数程序集】是一个应用程序接口【API】标准,用于规范发布基础基础线性代数操作的数值库【常用于向量或矩阵计算】。该程序集最初发布于1979年,并用于创建更大的数值程序包【例如:LAPACK】。在高性能计算领域,BLAS被广泛使用。
二.特点
1.BLAS按照功能被分为三个级别:
Level1:向量-向量计算,比如:点积【dot】,向量加法和乘法【axpy】,绝对值的和【asum】等。
Level2:向量-矩阵计算,比如:矩阵向量乘法【gemv】。
Level3:矩阵-矩阵计算,比如:矩阵乘法【gemm】。
2.每一种函数操作都区分不同的数据类型【单精度、双精度、复数】,比如:矩阵乘法分为sgemm【单精度一般矩阵乘法】、dsymm【双精度对称矩阵乘法】、zhemm【双精度复数埃米特矩阵乘法】。之所以要分这么多种,主要是针对每种不同类型的矩阵都要分别设计专门的算法,使得计算性能最优。
三.基本运算函数
备注:BLAS运算中的每个函数分为:单精度、双精度、复数和双精度复数4种类型。
四.BLAS向量-向量计算
五.BLAS矩阵-向量计算
六.BLAS矩阵-矩阵计算