mkl cblas_dgemm 参数错误
mkl cblas_dgemm wrong parameter
我尝试使用 mkl cblas_dgemm
来计算矩阵矩阵乘法。
据我所知,lda
、ldb
、ldc
应该是简单行主矩阵的列数。我尝试执行以下操作:
double a[3 * 2] = { 1,2,3,4,5,6 }; // 3 x 2 matrix
double b[2 * 4] = { 1,2,3,4,5,6,7,8 }; // 2 x 4 matrix
double c[3 * 4] = { 0, }; // 3 x 4 matrix
// c <- 1.0 * (a*b) + 0.0 * c
cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, 3, 2, 4, 1.0, a, 2, b, 4, 0.0, c, 4);
// rowmajor no trans no trans m k n alph A lda B ldb beta C ldc
但是它给了我一个错误信息并且c
没有更新。
Intel MKL ERROR: Parameter 9 was incorrect on entry to cblas_dgemm.
参数9为lda
我的代码有什么问题?
我错了。参数顺序为 m,n,k
如上所述
我尝试使用 mkl cblas_dgemm
来计算矩阵矩阵乘法。
据我所知,lda
、ldb
、ldc
应该是简单行主矩阵的列数。我尝试执行以下操作:
double a[3 * 2] = { 1,2,3,4,5,6 }; // 3 x 2 matrix
double b[2 * 4] = { 1,2,3,4,5,6,7,8 }; // 2 x 4 matrix
double c[3 * 4] = { 0, }; // 3 x 4 matrix
// c <- 1.0 * (a*b) + 0.0 * c
cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, 3, 2, 4, 1.0, a, 2, b, 4, 0.0, c, 4);
// rowmajor no trans no trans m k n alph A lda B ldb beta C ldc
但是它给了我一个错误信息并且c
没有更新。
Intel MKL ERROR: Parameter 9 was incorrect on entry to cblas_dgemm.
参数9为lda
我的代码有什么问题?
我错了。参数顺序为 m,n,k
如上所述