cblas_sgemm cblas.h

BLAS(Basic Linear Algebra Subprograms)库,是用Fortran语言实现的向量和矩阵运算库,是许多数值计算软件库的核心, 但也有一些其它的包装, 如cblas是C语言, 也有C++的包装, boost/ublas 是C++ template class的实现; 另外还有一些特别的实现, 如intel MKL, AMD core math library blas就是做向量、矩阵的基本运算,如加、减、乘等操作。

https://blog.csdn.net/zuoyigexingfude/article/details/50488255

 

函数的定义:cblas_sgemm(order, transA, transB, M, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC);

第一个参数的函数是存储的有限性,有行优先和列优先(c语言是行优先)
caffe中使用的也是行优先
第二个参数和第三个参数是是否转置
A矩阵经过transA之后的维度是M×K
B矩阵经过transB之后的维度是K×N
C矩阵的维度是M×N
LDA和LDB是对应矩阵还没变换之前,在主维度方向的维度。(如果是行优先就是列数)。

LDA:A的列

LDB:B的列

LDC:C的列

其他部分:C = alpha*op( A )*op( B ) + beta*C

https://blog.csdn.net/zhuiqiuk/article/details/72916558

https://blog.csdn.net/jacke121/article/details/60143119

https://blog.csdn.net/u012235274/article/details/52769682

 

posted @ 2018-08-01 15:51  有梦就要去实现他  阅读(851)  评论(0编辑  收藏  举报