Utiliser Apptainer/Singularity

Marché

Conteneurs Apptainer/Singularité sont un outil permettant de regrouper des applications et de les exécuter de manière reproductible sur divers systèmes hôtes. Singularity peut importer la plupart des conteneurs Docker sans problème et peut être facilement déployé en tant qu'application utilisateur pouvant s'exécuter sans privilèges administratifs.

Pour utiliser Apptainer sur Rescale, les fichiers image (*.sif) doivent être créés à l'avance à l'aide d'un environnement de construction Apptainer/Singularity. Pour cette tâche, consultez le guide de démarrage rapide Apptainer : https://apptainer.org/user-docs/master/quick_start.html.

Une fois créé, créez un nouveau travail et sélectionnez le Apportez votre propre singularité Contenant vignette logicielle.

Image 25

Apptainer/Singularité en mode Basic/DOE

Les Apptainers qui s'exécutent en modes Basic ou DOE de Rescale doivent avoir une commande exec ou un script d'exécution qui renvoie le processus une fois terminé.

Par exemple, exécutif

singularity pull library://lolcow
singularity exec lolcow_latest.sif cowsay moo

Par exemple, courir

singularity pull library://lolcow
singularity run lolcow_latest.sif

or

singularity pull library://lolcow
./lolcow_latest.sif

Apptainer/Singularité dans Workstation

Si Apptainer prend en charge l'exécution d'une interface graphique, vous pouvez facilement exécuter cette interface sur Rescale. Poste de travail. Les images de machine de redimensionnement contiennent un X-Windows serveur qui peut être exploité par Apptainer/Singularity via le xhost commander. 

Pour lancer une interface graphique depuis Apptainer, exécutez le xhost + commande avant la commande utilisée pour lancer l’application Apptainer/Singularity.

xhost +
singularity exec <my_gui_application.sif> <path to gui command>

Notes complémentaires

Depuis la version 2.3, Singularity prend en charge l'exécution de conteneurs qui utilisent également GPU exécuter des applications CUDA, ce qui en fait un choix utile pour exécuter des tâches d'apprentissage profond packagées.

singularity exec --nv docker://rescale/tf-cnn-benchmarks:1.3.0 python /tf_cnn_benchmarks/tf_cnn_benchmarks.py --model resnet50 --batch_size 
64 --gpus

L'indicateur « –nv » dans la ligne de commande ci-dessus indique à Singularity de passer par l'interface GPU hôte vers le conteneur, permettant ainsi aux applications CUDA de s'exécuter à l'intérieur. Cet exemple particulier exécute le Tests TensorFlow CNN dans un conteneur sur un ou plusieurs GPU.