Parallel running coroutines in Matlab

8 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

Joss Knight
Joss Knight il 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 Commento
D. Plotnick
D. Plotnick il 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

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by