Author
Published

February 13, 2025

Documentation Marbec-GPU

Bienvenue dans la documentation du cluster Marbec-GPU. Ce document fournit un aperçu du cluster, de ses capacités et des guides disponibles pour apprendre à bien l’utiliser.

Le cluster Marbec-GPU est conçu pour fournir des ressources informatiques de hautes performances pour l’exécution de code, Python et R notamment. Il est basé sur le noyau Linux-Ubuntu et dispose d’une interface Jupyter pour faciliter son utilisation. Plusieurs outils y sont installés, notamment Python, R, Git, Conda, CUDA et RStudio.

Caractéristiques

Inscription

Pour commencer à utiliser le cluster Marbec-GPU, vous devrez rejoindre le groupe Marbec-DEN. Contactez les Administrateurs pour plus de détails : Contacts administrateurs DEN

Documentation

Pour des instructions détaillées sur l’utilisation du cluster Marbec-GPU, veuillez vous référer aux sections suivantes :

Support

Si vous rencontrez des problèmes ou avez des questions, veillez intéragir avec le RocketChatIRD.

FAQ

  • De quelles ressources ai-je besoin d’allouer?

Bonne question ! Cela dépend de vos données d’entrée (taille et type), de votre modèle (stochastique, statistique, réseau de neurones, etc.), de votre tâche mais surtout des packages utilisés. Par exmple, certains packages ne permettent pas de faire les calculs sur GPU, d’autres ne peuvent pas paralléliser sur plusieurs CPU. Renseigner vous donc sur les packages pour ne pas allouer des ressources qui ne seront pas utlisées et adaptez vos script en conséquent. Quelques exemples d’allocation : Entraînement Pytorch YOLO : --mem=64G, --c=16 et --gres=gpu:1 ; Exécution HSMC (TensorFlow) : --mem=64GB, --cpus-per-task=30 et --gpus-per-node=1

  • Mon script est-il compatible GPU ?

Non, pas directement. Cependant, certaines bibliothèques sont compatibles GPU. Si votre framework ou script n’utilise pas spécifiquement le GPU, votre code NE tirera PAS parti du matériel GPU. Principaux exemples de bibliothèques compatibles GPU : PyTorch, TensorFlow, Keras, Theano, Caffe, etc.

  • Comment annuler un job soumis ?

Utilisez la commande scancel JOBID, où JOBID est l’identifiant du job que vous souhaitez annuler. Vous pouvez trouver l’identifiant du job dans la sortie de la commande sbatch lorsque vous soumettez un job, ou en utilisant la commande squeue comme mentionné dans la question précédente, pour plus de details documentation SLURM scancel.

  • Comment accéder à la file d’attente des jobs ?

Utilisez la commande suivante : squeue -O NAME,UserName,TimeUsed,tres-per-node,state,JOBID. Cette commande affiche une liste détaillée des jobs en attente, y compris le nom du job (par exemple, spawner-jupyterhub dessigne une “session-job”; sinon, le nom spécifié dans l’argument #SBATCH --job-name), le nom d’utilisateur, le temps d’exécution, le nom du noeud (eg., gres:gpu:1 pour une allocation GPU, gres:gpu:0 pour une allocation CPU), l’état du job (par exemple, PENDING pour les jobs en attente de démarrage en raison de la disponibilité des ressources ou de la planification, ou RUNNING pour les jobs en cours d’exécution) et JOBID (un identifiant unique pour chaque job), se référer à la documentation SLURM squeue pour plus de détails.

  • Comment soumettre plusieurs jobs sans bloquer les autres utilisateurs ?

Toute la communauté MarbecGPU vous remercie pour votre démarche coopérative et amicale. Vous pouvez utiliser le paramètre #SBATCH --dependency=afterany:JOBID, où JOBID est l’identifiant du job que vous souhaitez attendre (par exemple, 4391). Vous pouvez trouver l’identifiant du job dans la sortie de la commande sbatch lorsque vous soumettez un job, ou en utilisant la commande squeue comme mentionné dans la question précédente. Selon la documentation SLURM sbatch ce paramètre garantit que le démarrage de votre job est différé jusqu’à ce que la dépendance spécifiée soit satisfaite. Pour des dépendances basées sur des fichiers ou des cas plus complexes, vous pouvez explorer d’autres mécanismes pour retarder ou séquencer l’exécution de votre job selon vos besoins.

Back to top