rsnt_translations
56,430
edits
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
Un ensemble de tâches peut être réparti sur plusieurs nœuds d'une grappe, comme c'est le cas des tâches exécutées sur les serveurs de Calcul Canada. Voici un exemple : | Un ensemble de tâches peut être réparti sur plusieurs nœuds d'une grappe, comme c'est le cas des tâches exécutées sur les serveurs de Calcul Canada. Voici un exemple : | ||
{{Command | {{Command | ||
| | |scontrol show hostname ${SLURM_JOB_NODELIST} > ./node_list_${SLURM_JOB_ID} | ||
}} | }} | ||
Dans ce cas, nous supposons que chaque nœud a 32 cœurs CPU et nous | {{Command | ||
|parallel --jobs 32 --sshloginfile ./node_list_${SLURM_JOB_ID} --env MY_VARIABLE --workdir $PWD ./my_program | |||
}} | |||
Dans ce cas, nous supposons que chaque nœud a 32 cœurs CPU et nous créons un fichier qui contient la liste des nœuds de <tt>$SLURM_JOB_NODELIST</tt> (qui est créé automatiquement par l'ordonnanceur); ce fichier indique les nœuds que Gnu parallel doit utiliser pour la distribution des tâches. Avec <tt>--env</tt>, une variable d'environnement peut être transférée à tous les nœuds; l'option <tt>--workdir</tt> fait en sorte que toutes les tâches seront lancées dans le même répertoire que le nœud principal. |