IMB > cellule > Moyens de calcul et de stockage

S’organiser pour travailler indifferemment sur plusieurs plateformes

Pour pouvoir travailler de manière indifférenciée sur plusieurs plateforme, vous pouvez-vous organiser en définissant des variables d’environnement dans vos fichier de configurations $HOME/.bashrc pour gommer les différences entre plateformes dans vos scripts.

Avec également l’aide de git pour gérer vos codes sources vous pouvez très facilement déployer votre code, à jour, sur l’une ou l’autre plateforme.

Exemple de paragraphe $HOME/.bashrc :

sur plafrim :

export HPC_DOMAIN=plafrim
export HPC_NAME=plafrim3
export HPC_TMP=/beegfs/$USER
export HPC_MODULE_GCC=compiler/gcc/2.3.4

sur curta :

export HPC_DOMAIN=mcia
export HPC_NAME=curta
export HPC_TMP=/gpfs/scratch/$USER
export HPC_MODULE_GCC=gcc/2.3.4

exemple de script de lancement :

#SBATCH ...
cp -r $HOME/monprojet $HPC_TMP
cd $HPC_TMP/monprojet
echo Running on $HPC_DOMAIN / $HPC_NAME

module load $HPC_MODULE_GCC
make myprog.c
srun myprog

Limitations

Les directives #SBATCH ne peuvent pas contenir de variables (elles ne sont pas évaluées)