launch_comsol1.oar 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. #!/bin/bash
  2. # sur orval
  3. ################################################################################
  4. # exemple de script oar de lancement de batch COMSOL
  5. # {PATH_COMSOL}/applications/COMSOL_Multiphysics/Equation_Based/heart_electrical.mph
  6. # description du problème:
  7. # {PATH_COMSOL}doc/help/wtpwebapps/ROOT/doc/com.comsol.help.models.mph.heart_electrical/models.mph.heart_electrical.pdf
  8. # Usage: oarsub -S ./launch_comsol1.oar
  9. #
  10. # Note: les directives OAR commencent par #OAR pour les mettre en commentaires
  11. # il faut utiliser un double #
  12. ################################################################################
  13. #-----------------------------------------------------------
  14. # Les directives OAR
  15. #-----------------------------------------------------------
  16. # donner un nom au job
  17. #OAR -n comsol_ex1
  18. # les ressources
  19. #OAR -l /nodes=1/core=28,walltime=00:20
  20. # la file de soumission default
  21. ##OAR -q default
  22. # ou bien : mode besteffort
  23. #OAR -t besteffort
  24. # restart automatique
  25. ##OAR -t idempotent
  26. # chargement du module comsol
  27. #-----------------------------------------------------------
  28. source /nfs/opt/env/env.sh
  29. module load comsol
  30. # notification par mail ou script
  31. ##OAR --notify mail:prenom.nom@univ-littoral.fr
  32. ##OAR --notify exec:/chemin/vers/mon/script arguments
  33. # affiner (éventuellement) la sélection des noeuds de calculs
  34. # -par exemple avec les noeuds acheter dans le cadre d'un projet/BQR- ;-)
  35. ##OAR -p network_address = 'orvalX' or network_address = 'orvalY' or ...
  36. ##OAR -p nodemodel = 'Dell_R820' and disktype = 'sas'
  37. ## ... cf https://www-calculco.univ-littoral.fr/outils_visu/monika
  38. #OAR -O ex1-comsol-%jobid%.out
  39. #OAR -E ex1-comsol-%jobid%.err
  40. # IMPORTANT réserver le jeton : à mettre en place
  41. ##OAR -t token:comsol=1
  42. INPUT=heart_electrical.mph
  43. OUTPUT=heart_electrical-out.mph
  44. if [ -s "$OUTPUT.recovery" ]
  45. then
  46. echo "le fichier recovery existe: on relance à partir du checkpoint"
  47. comsol batch -inputfile $INPUT -outputfile $OUTPUT -recover -continue -np 28
  48. else
  49. echo "premier lancement du projet $INPUT"
  50. comsol batch -inputfile $INPUT -outputfile $OUTPUT -np 28
  51. fi
  52. #remarque 1 (checkpoint):
  53. #----------
  54. # la ligne de commande la plus simple aurait pu être:
  55. # comsol batch -inputfile $INPUT -outputfile $OUTPUT
  56. # Ici, la structure de contrôle if then else est mis en place tout simplement
  57. # pour profiter du fait que COMSOL intègre nativement un système d'avancement
  58. # des runs et donc un sytème de «checkpoint à pas cher!» : il suffit de tester
  59. # l'existence d'un fichier $OUTPUT.recovery non vide, pour comprendre que le
  60. # job a été arrêté (volontairement ou walltime trop court ou ...ou ? )
  61. # => il suffit de relancer le script OAR pour relancer le run au stade où il en était.
  62. # remarque 2
  63. #----------
  64. # option -np (facultative) : dans cet exemple on fixe
  65. # le nombre à 16 pour être cohérent avec les ressources demandées (core=16),
  66. # c'est a priori optimal en terme de perf (1 core = 1 thread)
  67. # c'est inutile si on prend un noeud complet (comsol prend automatiquement tous les coeurs)
  68. exit $?