Contenu principal

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

Exécuter un script en tant que job en batch

Cet exemple montre comment utiliser batch pour décharger le travail vers une session de travail MATLAB ® qui s'exécute en arrière-plan.

Vous pouvez continuer à utiliser MATLAB pendant que les calculs sont en cours.

Exécutez un script en tant que job en batch en utilisant la fonction batch. Par défaut, batch utilise votre profil de cluster par défaut. Vérifiez votre profil de cluster par défaut dans l'onglet MATLAB Accueil, dans la section Environnement, dans Parallèle > Sélectionner Environnement parallèle. Vous pouvez également spécifier un profil de cluster avec l'argument de paire nom-valeur 'Profile'.

job = batch('myScript');

batch ne bloque pas MATLAB et vous pouvez continuer à travailler pendant que les calculs ont lieu.

Si vous souhaitez bloquer MATLAB jusqu'à ce que le job se termine, utilisez la fonction wait sur l'objet job.

wait(job);

Par défaut, MATLAB enregistre la sortie de la fenêtre de commande du job en batch dans le journal du job. Pour le récupérer, utilisez la fonction diary.

diary(job)
--- Start Diary ---
n = 100

--- End Diary ---

Une fois le job terminé, récupérez les résultats en utilisant la fonction load.

load(job,'x');
plot(x)

Si vous souhaitez charger toutes les variables dans le job en batch, utilisez plutôt load(job).

Une fois que vous avez chargé toutes les variables requises, supprimez l'objet job pour nettoyer ses données et éviter de consommer des ressources inutilement.

delete(job);
clear job

Notez que si vous envoyez un fichier de script en utilisant batch, MATLAB transfère toutes les variables de l'espace de travail au cluster, même si votre script ne les utilise pas. Le temps de transfert de données pour un grand espace de travail peut être substantiel. En tant que meilleure pratique, convertissez votre script en fichier de fonction pour éviter cette surcharge de communication. Pour un exemple utilisant une fonction, voir Exécuter des jobs en batch et accéder aux fichiers à partir des workers .

Pour des options plus avancées avec batch, voir Exécuter des jobs en batch et accéder aux fichiers à partir des workers .

Voir aussi

| |

Rubriques