Chapter 3.1 : The HT Condor job configuration
On commence par définir le script de notre job :
1 |
executable=apptainer_run.sh
|
Ensuite, on définit l'environment dans lequel on lance le job (sur MUST ce sera toujours vanilla pour le moment et il faut toujours le spécifier sinon ça plante) :
1 |
universe=vanilla
|
On peut passer quelques arguments à notre programme :
1 |
arguments=Example.$(Cluster).$(Process) 100 |
On définit les sorties, les erreurs et les logs :
1 2 3 |
output=results.output.$(Process) error=results.error.$(Process) log=results.log |
On peut recevoir un e-mail de notification quand le job est terminé :
1 2 |
notification=complete notify_user=pierre.aubert@lapp.in2p3.fr |
On peut transmettre l'environnement au job (même si ce n'est pas toujours une bonne idée) :
1 2 3 |
getenv = True # Pour transmettre certaines variable d'environnement au job #environment = one=1;two=2;three="quotes have no 'special' meaning" |
On peut transférer des fichiers sur demande (mais nous n'en avons pas besoin) :
1 2 |
should_transfer_files=IF_NEEDED when_to_transfer_output = ON_EXIT |
On spécifie les ressources necéssaires au fonctionnement de notre programme :Le nombre de coeurs CPU noteOui, ça s'appelle request_cpus mais il s'agit bien d'un nombre de coeurs et non d'un nombre de CPU :
1 |
request_cpus = 1 |
La mémoire RAM dont nous aurons besoin (par défaut 1 Go/CPU, enfin par coeur) :
1 2 3 |
request_memory = 1024 #default request_diskvalue : 0, il utilise le minimum possible) espace LOCAL au noeud # request_disk = 10240 |
On peut spécifier le nombre de jobs que l'on veut lancer en parallèle (Attention : il faut toujours ajouter queue sinon ne job ne partira pas) :
1 |
queue 1 |
The full configuration :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
executable=apptainer_run.sh universe=vanilla arguments=Example.$(Cluster).$(Process) 100 output=results.output.$(Process) error=results.error.$(Process) log=results.log notification=complete notify_user=pierre.aubert@lapp.in2p3.fr getenv = True # Pour transmettre certaines variable d'environnement au job #environment = one=1;two=2;three="quotes have no 'special' meaning" should_transfer_files=IF_NEEDED when_to_transfer_output = ON_EXIT request_cpus = 1 request_memory = 1024 #default request_diskvalue : 0, il utilise le minimum possible) espace LOCAL au noeud # request_disk = 10240 queue 1 |