Vous pouvez déployer vos applications via des conteneurs Apptainer (anciennement Singularity)
Construction de conteneurs :
Pour vous permettre de créer facilement des conteneurs pour l'architecture des CPUs ARM, la construction de conteneurs apptainer sur Turpan est possible à partir des frontales de connexion à l'aide de la commande apptainer build
Pour utiliser Apptainer :
Pour être utilisables, les conteneurs doivent obligatoirement se trouver dans un sous-répertoire de /work/conteneurs. Vous devez contacter le support [dot] calmip [at] univ-toulouse [dot] fr (support) et demander la création d'un dossier pour votre compte s'il n'existe pas.
Merci de réserver le lancement de conteneurs sur la frontale de connexion à des tests uniquement (shell interactif, installations de paquets python, etc...)
Utilisation d'un conteneur pour exécuter un code présent dans le conteneur :
Cette commande permet de lancer le conteneur depuis vos script sbatch :
apptainer run /work/conteneurs/<projet>/<user>/mon_conteneur.sif
Utilisation d'un conteneur pour exécuter mon code à l'intérieur du conteneur :
Lancement depuis un script sbatch :
apptainer exec --nv /work/conteneurs/pytorch_23.10-py3-calmip.sif python mon_script.py
Utilisation d'un conteneur pour appeler un shell dans le conteneur :
Pour vérifier le contenu du conteneur et faire des essais ou des installations particulières sur la frontale :
apptainer shell /work/conteneurs/<projet>/<user>/mon_conteneur.sif
Pour faire des essais en interactif sur un noeud de calcul (lance un shell dans le conteneur sur un noeud) :
srun -n 1 -p shared --pty apptainer shell /work/conteneurs/<projet>/<user>/mon_conteneur.sif
Accéder à mes données sur les espaces de stockage depuis le conteneur
Par défaut, seul votre espace HOME est accessible à l'intérieur du conteneur. Pour ajouter les espaces WORK et TMPDIR vous devez ajouter l'option suivante :
--bind /tmpdir,/work
Téléchargement de conteneurs depuis un dépôt
Vous pouvez utiliser des conteneurs mis à disposition par des éditeurs ou des projets de développement à l'aide de la commande apptainer pull
Par exemple :
# Ajout du dépot Sylabsapptainer remote add --no-login SylabsCloud cloud.sycloud.io apptainer remote use SylabsCloud# Téléchargement d'un conteneur de testcd /work/conteneurs/$GROUP/$USERapptainer pull --arch arm64 library://library/default/lolcow:latest
Pour tester :
apptainer run /work/conteneurs/$GROUP/$USER/lolcow_latest.sif
Gestion du cache local
Attention, des fichiers de cache parfois volumineux sont téléchargés localement dans votre espace $HOME lorsque vous utilisez la commande apptainer pull.
Pour lister le contenu du cache et l'espace utilisé : apptainer cache list
Pour vider le cache et libérer l'espace : apptainer cache clean
Pour aller plus loin
Pour des raisons de sécurité, l'exécution de conteneurs en mode privilégié (setuid) n'est pas autorisée sur Turpan. Dans de rares cas, cela peut empêcher l'utilisation de certaines options d'apptainer