Asynchronous Parallel Programming
parfeval
You can evaluate a function in the background without waiting
for it to complete, using parfeval
.
In many cases, it can be convenient to break out of a for loop early.
For example, in an optimization procedure, you can stop the loop early
when the result is good enough. You can do this on one or all parallel
pool workers, using parfeval
or parfevalOnAll
. This can be useful if
you want to be able to plot intermediate results. Note that this is
different from using parfor
,
where you have to wait for the loop to complete.
Use send
and poll
together to send and poll for messages
or data from different workers using a data queue. You can use afterEach
to add a function to call
when new data is received from a data queue.
Use afterEach
and
afterAll
to
automatically invoke functions after each or after all elements of a Future
array
complete. This array can contain futures returned by parfeval
, parfevalOnAll
, afterEach
or
afterAll
.
Functions
Topics
- Evaluate Functions in the Background Using parfeval
Break out of a loop early and collect results as they become available.
- Query and Cancel parfeval Futures
This example shows how to query the state of
parfeval
futures and cancel them. - Use afterEach and afterAll to Run Callback Functions
Automatically run functions after
Future
objects finish running on parallel pools. - Plot During Parameter Sweep with parfeval
This example shows how to perform a parallel parameter sweep with
parfeval
and send results back during computations with aDataQueue
object. - Update User Interface Asynchronously Using afterEach and afterAll
This example shows how to update a user interface as computations complete.
- Perform Webcam Image Acquisition in Parallel with Postprocessing
This example shows how to perform frame acquisition from a webcam in parallel with data postprocessing.
- Perform Image Acquisition and Parallel Image Processing
This example shows how to perform image acquisition from a webcam and postprocess data in parallel.
- Train Deep Learning Networks in Parallel (Deep Learning Toolbox)
This example shows how to run multiple deep learning experiments on your local machine.
- Use parfeval to Train Multiple Deep Learning Networks (Deep Learning Toolbox)
This example shows how to use
parfeval
to perform a parameter sweep on the depth of the network architecture for a deep learning network and retrieve data during training. - Choose Between spmd, parfor, and parfeval
Compare and contrast
spmd
against other parallel computing functionality such asparfor
andparfeval
.