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
The file is avalaible here.