我对MATLAB和mkl有一些问题。当我编译一个mexfile并将其链接到一个外部优化库(称为"worhp")时,我得到了以下运行时错误:
Intel MKL ERROR: Parameter 5 was incorrect on entry to DGEMM.当我在MATLAB之外编译和运行我的代码时,我没有得到这个错误。我猜这与MATLAB特定的blas和lapack发行版有关。
如果我可以强制MATLAB使用这些库的系统特定发行版,我可以删除此错误吗?
我正在使用Ubuntu 16.04。
发布于 2018-04-24 21:44:44
当你从MATLAB外部编译和运行你的代码时,你链接的是什么BLAS/LAPACK?
DGEMM的参数编号5是A的列数和A * B中B的行数,它们显然必须匹配;根据您是链接到Fortran (extern "C" DGEMM)例程还是链接到c/c++绑定(cblas_dgemm),您需要将该值作为int或int*传递。
FORTRAN绑定:
extern void dgemm_(char*, char*, int*, int*,int*, double*, double*, int*, double*, int*, double*, double*, int*);C绑定(MKL):
void cblas_dgemm (const char, const char, const char, const int m, const int n, const int, const double*, const double*, const int lda, const double*, const int, const double, double*, constint ldc);https://stackoverflow.com/questions/49794790
复制相似问题