windows环境,matlab为2020a,c++程序基于vs2017编写。
1.在c++程序中想要启用openmp的地方添加
#pragma omp parallel for
对于openmp的使用方法可以百度。
2.保存文件,把cpp文件复制到matlab当前文件夹下。
3.在matlab命令行窗口输入
mex -v COMPFLAGS="$COMPFLAGS /openmp" 文件名.cpp
等待编译完成。
因为我用的是vs,也就是MSVC,如果是MinGW或者其它系统参考http://tipsarea.com/2020/08/28/how-to-enable-openmp-for-mex-function-in-matlab/
4.命令行窗口可以指定线程数,然后重启matlab
setenv OMP_NUM_THREADS 8
5.使用函数。