调试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 ….更多见官网 |