sharing matrix in parfor

I have a program which uses the parfor loop and contains a large matrix (2-3GB). Each worker continuously access random locations in the matrix, but never write to the matrix. When using parfor the matrix is copied for each worker causing a massive memory spike. Is there a way to prevent this and allow each worker to read from the same matrix?

Answers (1)

Sarah Wait Zaranek
Sarah Wait Zaranek on 14 Sep 2012

1 vote

There is no way to do shared memory automatically in a parfor loop. However, depending on where the data is located - there may be options. For instance, if the data is coming from a file - memory mapping may work well. Look at the function memmapfile.

Categories

Asked:

on 30 Jun 2012

Community Treasure Hunt

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

Start Hunting!