mex编程可以利用MATLAB build-in function可以省去C语言(C++)编写的麻烦。
案例:nnz函数(获取矩阵非零元素的数目,多用于cusparse的稀疏格式)、
注意1:mexCallMATLAB中的输入mxArray **,省事情况取prhs[ ],不能是const mxArray **,把mexFunction的关键词去掉。

因为build-in 函数返回值类型是double,所以必须使用mxGetDoubles(mxGetPr)
注意1:matlab的角标从1开始,选择CUSPARSE_INDEX_BASE_ONE;
注意2:matlab按列读入,所以在cusparse中,选择CUSPARSE_ORDER_COL,
lda为输入矩阵的行数;

包含3个cu文件,dense2csrD为double类型输入矩阵,dense2csrZ为complex double类型输入矩阵,CuDense2CSR.cu为mex主函数入口(包含数据类型判断,输入数目判断)。

mexcuda编译后运行结果:

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删