Pour utiliser facilement les environnements conda sur le cluster, et de manière générale dans le laboratoire, il est recommandé d’utiliser la version module d’anaconda.
Sur votre machine créez votre environnement conda:
$ module load anaconda3
# si c'est la première fois, faites: `conda init` puis relancez un terminal, sinon vous pouvez juste utiliser le mot clé `source` au lieu de conda
$ conda create -n myEnv python=3.9
Vérifiez que votre environnement est stocké à l’emplacement du module anaconda3:
$ conda env list
# conda environments:
#
[...]
myEnv /opt/apps/pkgs/anaconda3/2023.09-0/kvhhznl/envs/myEnv
[...]
Si c’est le cas, alors vous pouvez accéder à votre environnement conda depuis n’importe quelle machine au sein du laboratoire.
$ ml anaconda3
$ conda activate myEnv
SLURM garde l’environnement de l’utilisateur lorsque la commande sbatch/srun/salloc est lancée, donc vous pouvez charger votre environnement et lancer directement sbatch.
$ ml anaconda3
# si vous avez déjà fait `conda init`
$ conda activate myEnv
# si vous n'avez pas (ou voulez pas) fait `conda init`
$ source activate myEnv
$ sbatch job.sh
#!/bin/bash
#SBATCH -p RISTRETTO # partition: choice between [RISTRETTO, ESPRESSO (default), LUNGO]. Type `sinfo` for more info
#SBATCH --time=1:00:00 # walltime: max depends on the partition chosen
#SBATCH --cpus-per-task=4 # number of processor cores
#SBATCH --nodes=1 # number of nodes
#SBATCH --gres=gpu:1 # number of GPU
#SBATCH --mail-user=email # Adresse email du destinataire
#SBATCH --mail-type=END,FAIL # Événements déclencheurs de l'email (NONE, BEGIN, END, FAIL, ALL)
#SBATCH -J "test" # job name
module load anaconda3
source activate myEnv
python3 -c "import torch; torch.cuda.is_available();"