MATLAB Answers


Parallel running coroutines in Matlab

Asked by D. Plotnick on 24 Apr 2018
Latest activity Commented on by 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.

1 Answer

Answer by Joss Knight
on 28 Apr 2018
 Accepted Answer

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

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.