Runing OpenMP with Matlab

Greetings,
I have a piece of c code that runs in parallel (OpenMP).
I have wrap the code (.mex64) so that it can be executed in Matlab (R2010b).
However, when executed over matlab (with multiple threads), it takes longer to complete. The problem is not with the size of the data as it happens to be quite big.
Does anyone know the possible cause of this?
Thank you.
-Dwin

2 个评论

Could you provide some statistics about how much longer? How does this scale with the size of data? Note that there is some expected overhead due to marshaling of data in and out of the MEX-file.
Impossible to say without seeing the code. If a program has poor memory access patterns and you simply slap an OpenMP construct around it then I would expect it to get worse, potentially much worse depending on circumstances. A program with good memory access patterns that is parallelized *might* get better depending on how it scales. Just can't tell without seeing your code.

请先登录,再进行评论。

回答(0 个)

类别

帮助中心File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

提问:

2011-4-3

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by