您的位置:首页 > 其它

算法库:基础线性代数子程序库(Basic Linear Algebra Subprograms,BLAS)介绍

2015-11-21 16:17 465 查看
调试DeepFlow光流算法,由于作者给出的算法是基于Linux系统的,所以要在Windows上运行,不得不做大量的修改工作。移植到Windows平台,除了一些头文件找不到外,还有一些函数也找不到。这其中就涉及到三个函数:sgemv_,sgemm­,saxpy­_。百度了一下,原来这三个函数是很有来头的。它们仨来自于Basic Linear Algebra Subprograms(BLAS),即基础线性代数子程序库。这个库其实就是关于向量和矩阵之间的运算的。

BLAS维百介绍:https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms

BLAS官方连接:http://www.netlib.org/blas/

BLAS库分为三个level:level1是关于向量和向量之间的运算,level2是关于向量和矩阵之间的运算,level3是关于矩阵和矩阵之间的运算。

BlAS函数的命名:主要由数据类型、矩阵类型、运算类型组成。

数据类型 

矩阵类型  

运算类型

S:single (single real)

D:double (double real)

C:complex (single complex)

Z:double complex

GE:general

GB:general band

SY:symmetric

SB:symmetric band

SP:symmetric packed

HE:hermitian

HB:hermitian band

HP:hermitian packed

TR:triangular

TB:triangular band

TP:triangular packed

….更多见官网

DOT:scalar product, x^T y

AXPY:vector sum, alpha x + y

MV:matrix-vector product, Ax

SV:matrix-vector solve, inv(A)x

MM:matrix-matrix product, AB

SM:matrix-matrix solve, inv(A) B

….更多见官网

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: