Matlab OpenMP mex在第二次调用时仅使用1个线程

时间:2015-08-12 22:41:31

标签: matlab parallel-processing openmp mex

在运行我编译的多线程mex文件(使用OpenMP)时,我发现了一个令人沮丧的问题。 mex文件的源代码可以在这里找到

https://github.com/fangq/mmc/blob/master/mmc/trunk/src/mmclab.cpp#L123

在Ubuntu框中使用gcc / mex编译并链接了正确的选项。 matlab mex来自matlab 8.2。

当我第一次在matlab中运行它时,它在i7处理器上使用了8个线程,正如预期的那样。但是,如果我在同一个matlab会话中再次运行它,它只使用1个线程!为了使用8个线程,我不得不关闭matlab并重新开始。

我尝试添加" setenv(' OMP_NUM_THREADS',' 8');"在我的脚本中,它没有帮助。我检查了并行偏好,我没有看到任何相关内容。

以前有人遇到过类似的问题吗?

可能出现什么问题?

0 个答案:

没有答案