Bonnes pratiques de calcul
Écrire son script
Un script de soumission vous permet de formaliser le paramétrage de vos jobs. Veuillez préférer cette méthode à la déclaration des paramètres en ligne de commande.
- En cas de personnalisation des fichiers de sortie et d’erreur ( - stdout,- stderr), utilisez un répertoire partagé et bien utiliser- %jdans le chemin ou le nom (voir les Principales options de sbatch) ;
- gérez les erreurs du script avec la commande bash - setcomme expliqué dans les exemples de scripts de soumission ;
- privilégiez plusieurs petits jobs qui rentreront plus vite qu’un seul job plus gros. N’utilisez - srunet les steps Slurm que pour un besoin réel (calcul parallèle ou calcul à taches multiples indépendantes) ;
- si un fichier ou en ensemble de fichiers est accédé plusieurs fois, il est recommandé de tout copier localement sur - TMPDIR;
- l’espace local - /scratch(accessible via- TMPDIR) est partagé : en cas de remplissage cela peut impacter les workers et les jobs d’autres utilisateurs (pour plus de détails voir la page Environnement de calcul). Prevoyez le nettoyage de- TMPDIRà la fin de votre job.
Tester et paramétrer son job
Les actions suggérées ci-dessous vous permettront d’évaluer la quantité des ressources nécessaire à la bonne éxecution de votre production. Si, même après les étapes d’évaluation suivantes, vous vous rendez compte d’un erreur de paramétrage sur un job en exécution, veuillez préférer la suspension et l’altération du job à son annulation.
- Utilisez les partitions - flashet/ou- *interactivepour tester le job. Cette étape est particulièrement importante avant la soumission d’un grand nombre de jobs ;
- si nécessaire, profilez votre job pour en étudier le comportement exact ; 
- vérifiez dans les étapes ci-dessus que le job utilise la quasi-totalité des ressources demandées et ajustez le paramétrage du job (le temps, le nombre de CPUs par tâche, et la mémoire) pour rapprocher la demande de ressources à la consommation prévisionnelle ; 
- déclarez les ressources de stockage et logicielles nécessaires à votre job ; 
- une fois les paramètres de soumission validés, intégrez-les au header du script ; 
- en cas de lancement lancement de jobs similaires (qui diffèrent d’un ou plusieurs paramètres propres au traitement), utilisez des jobs tableau pour limiter la charge sur la plateforme de calcul. 
À la fin des jobs
- Rendez vous sur le Portail Utilisateur pour verifier l’efficacité CPU et mémoire ; 
- en cas d’erreur, consulter les fichiers de sortie. 
Soumettre un ticket
Les informations à fournir dans le ticket (selon le cas, toutes les informations ne sont pas toujours nécessaires). Privilégiez des pièces jointes pour partager plusieurs lignes de code :
- L’identifiant d’un job concerné par le problème. Si c’est possible, fournir aussi l’identifiant d’un job ayant fonctionné correctement ; 
- les paramètres de soumission (ligne de commande et header du script) ; 
- les contenus des fichiers de sortie et d’erreur ; 
- le script en entier ; 
- si job reste en attente, veuillez copier le message du champ - REASONde l’output de la commande squeue.