Asynchronous Parallel Programming
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
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.
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.
afterAll to automatically invoke functions after each or after all elements of a
Future array complete. This array can contain futures returned by
Functions and Classes
|Run function on parallel pool worker|
|Execute function asynchronously on all workers in parallel pool|
|Start counting bytes transferred within parallel pool|
|Read how many bytes have been transferred since calling
|Send data from worker to client using a data queue|
|Retrieve data sent from a worker|
|Define a function to call when new data is received on a DataQueue|
|Run function after each function finishes running in the background|
|Run function after all functions finish running in the background|
|Retrieve results from function running in the background|
|Retrieve next unread outputs from |
|Stop function running in the background|
|Cancel all jobs or tasks (Since R2022a)|
|Wait for futures to complete|
|Function scheduled to run|
|Parallel pool of workers|
|Send and listen for data between client and workers|
|Send and poll data between client and workers|
- 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
parfevalfutures and cancel them.
- Use afterEach and afterAll to Run Callback Functions
Automatically run functions after
Futureobjects finish running on parallel pools.
- Plot During Parameter Sweep with parfeval
This example shows how to perform a parallel parameter sweep with
parfevaland send results back during computations with a
- 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
parfevalto 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
spmdagainst other parallel computing functionality such as
- Receive Communication on Workers
This example shows how to setup a data queue on the workers to receive data. (Since R2023b)
- Interactively Import and Process Data in Parallel
This example shows how to import and process data simultaneously in an interactive parallel pool. (Since R2023b)