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 Comments

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.

Sign in to comment.

Answers (0)

Categories

Asked:

on 3 Apr 2011

Community Treasure Hunt

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

Start Hunting!