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矩阵-矩阵计算

  

 

posted @ 2019-09-18 11:14  云山之巅  阅读(3949)  评论(0编辑  收藏  举报