Programmation parallèle asynchrone
parfeval
Vous pouvez évaluer une fonction en arrière-plan sans attendre qu'elle se termine, en utilisant parfeval
. Dans de nombreux cas, il peut être pratique de sortir rapidement d’une boucle for. Par exemple, dans une procédure d’optimisation, vous pouvez arrêter la boucle plus tôt lorsque le résultat est suffisamment bon. Vous pouvez le faire sur un ou tous les workers de pool parallèle, en utilisant parfeval
ou parfevalOnAll
. Cela peut être utile si vous souhaitez pouvoir tracer des résultats intermédiaires. Notez que cela est différent de l'utilisation de parfor
, où vous devez attendre que la boucle se termine.
Utilisez send
et poll
ensemble pour envoyer et interroger des messages ou des données provenant de différents workers à l'aide d'une file d'attente de données. Vous pouvez utiliser afterEach
pour ajouter une fonction à appeler lorsque de nouvelles données sont reçues d'une file d'attente de données.
Utilisez afterEach
et afterAll
pour appeler automatiquement des fonctions après chaque ou après que tous les éléments d'un tableau Future
soient terminés. Ce tableau peut contenir des futures renvoyées par parfeval
, parfevalOnAll
, afterEach
ou afterAll
.
Fonctions
Rubriques
- Evaluate Functions in the Background Using parfeval
Break out of an optimizing 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. - Tracer pendant le balayage des paramètres avec parfeval
Cet exemple montre comment effectuer un balayage de paramètres parallèle avec
parfeval
et renvoyer les résultats pendant les calculs avec un objetDataQueue
. - Mettre à jour l'interface utilisateur de manière asynchrone à l'aide de afterEach et afterAll
Cet exemple montre comment mettre à jour une interface utilisateur une fois les calculs terminés.
- 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
. - Receive Communication on Workers
This example shows how to setup a data queue on the workers to receive data. (depuis R2023b)
- Interactively Import and Process Data in Parallel
This example shows how to import and process data simultaneously in an interactive parallel pool. (depuis R2023b)