Contenu principal

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

Programmation parallèle asynchrone

Évaluer les fonctions en arrière-plan à l'aide de 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 prématurément 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èles, 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 élément ou après que tous les éléments d'un tableau Future soient terminés. Ce tableau peut contenir des futures renvoyés par parfeval, parfevalOnAll, afterEach ou afterAll.

Fonctions

développer tout

parfevalExécuter la fonction sur un worker du pool parallèle
parfevalOnAllRun function asynchronously on all workers in parallel pool
ticBytesStart counting bytes transferred within parallel pool
tocBytesRead how many bytes have been transferred since calling ticBytes
sendSend data between clients and workers using a data queue
poll Retrieve data sent to pollable data queue
afterEachDefine a function to call when new data is received on a data queue
afterEachRun function after each function finishes running in the background
afterAllRun function after all functions finish running in the background
fetchOutputsRetrieve results from function running in the background
fetchNextRetrieve next unread outputs from Future array
cancelStop function running in the background
cancelAllCancel all jobs or tasks (depuis R2022a)
waitWait for futures to complete
FutureFunction scheduled to run
parallel.PoolPool parallèle de workers
parallel.pool.DataQueueSend and listen for data between client and workers
parallel.pool.PollableDataQueue Send and poll data between client and workers

Rubriques

Sélection d՚exemples