MATLAB Answers

Parallel running coroutines in Matlab

3 views (last 30 days)
D. Plotnick
D. Plotnick on 24 Apr 2018
Commented: D. Plotnick on 29 Apr 2018
Hello, I am wondering if there is any way to get a functional co-routine in Matlab, a function that runs alongside another script. The example here is that I have a loop that pulls a subset of large set of data off of the hard drive into active memory and performs operations on it (largely on the GPU), and then saves image products, again to the hard drive. The hard drive read/write operations are fairly slow, so one way to improve performance would be to have the read/write routines running simultaneously as the intermediate operations; writing a finished data subset to one drive while processing the current data subset on the GPU while loading the next subset from another drive.
One could imagine other cases where running multiple functions in parallel would also be of benefit, if they do not need to be performed in a pipeline.
Is this possible in Matlab? Either "legitimately" or using some kludged combination of feval and cellfun?


Sign in to comment.

Accepted Answer

Joss Knight
Joss Knight on 28 Apr 2018
This is one of the major purposes of the Parallel Computing Toolbox. Start by taking a look at the documentation for Asynchronous Parallel Programming.

  1 Comment

D. Plotnick
D. Plotnick on 29 Apr 2018
Helpful as always Joss. This is exactly what I was looking for. I was aware of 'parfor' and the GPU related portions of the PCT, but somehow missed this capability. Cheers! -Dan

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by