Environnement de calcul sur Dalia
Espaces disquesâ
Il y a deux types d'espace de stockage sur Dalia :
- Un espace personnel
HOMEpar utilisateur·ice :/lustre/home/<login>- La variable d'environnement
$HOMEest positionnĂ©e lorsque vous vous connectez et pointe vers cet espace ; - Les quotas par utilisateur sont de 3 Go et 12 000 inodes et peuvent ĂȘtre augmentĂ©s si besoin.
- La variable d'environnement
- Un espace de travail par utilisateur·ice et par projet :
/lustre/work/<project_group>/<login>- Pour le moment il n'y a pas de variable d'environnement qui pointe vers ce dossier. Nous conseillons de fixer une variable (e.g.
$WORK) dans le~/.bashrcpour faciliter les choses ; - Un espace de travail commun Ă tous les membres d'un mĂȘme projet est Ă©galement disponible :
/lustre/work/<project_group>/commun; - Les quotas de l'espace de travail (utilisateurs + commun) dépendent du projet. Au total, la machine dispose de 500 To.
- Pour le moment il n'y a pas de variable d'environnement qui pointe vers ce dossier. Nous conseillons de fixer une variable (e.g.
- Par défaut, le nombre d'inodes attribués sera proportionnel à la volumétrie de stockage demandée pour le projet, à hauteur de 3 000 inodes par Go.
- Par chaque espace, il y a des quotas en volumétrie (Go) et en nombre de fichiers/repertoires (inodes). Vous serez bloqués dÚs que vous dépasserez l'une des limites.
Les quotas du HOME et des espaces de travail associés à vos projets sont en réalité gérés en fonction des groupes Unix propriétaires des fichiers. Cela peut entraßner des incompréhensions. Voir la FAQ "ProblÚmes de quotas sur le HOME".
Environnement logicielâ
Des piles logicielles de base (compilateurs, librairies CUDA,...) sont accessibles via des modules, comme sur Jean Zay. Pour les lister, vous pouvez lancer la commande :
module avail
Certains modules sont chargés par défaut quand vous vous connectez et sont visibles via la commande module list exécutée avant tout autre commande module. Ce comportement est modifiable dans votre .bashrc mais un module purge peut donc générer des effets de bord non souhaités, comme la perte d'accÚs à Slurm.
L'installation des environnements logiciels sur Dalia est ensuite à la charge des utilisateur·ices. Il est possible de travailler dans des conteneurs ou des environnements conda selon votre préférence.
Que vous construisiez un conteneur ou un environnement conda, il est primordial que les installations soient compatibles avec l'architecture ARM des nĆuds de calcul de Dalia qui est diffĂ©rente de l'architecture Intel des nĆuds de connexion.
Conteneurs Apptainerâ
Il est recommandé de travailler dans des conteneurs. La solution de conteneurisation Apptainer est disponible sur Dalia.
Afin d'éviter des problÚmes de quota, vous pouvez rediriger le répertoire de cache utilisé par Apptainer dans l'espace de travail associé à votre projet (~WORK). Pour cela, il suffit de définir la variable APPTAINER_CACHEDIR de la maniÚre suivante :
export APPTAINER_CACHEDIR=/lustre/work/<project_group>/<login>/<cache_directory>
Environnements condaâ
Vous pouvez si vous le souhaitez installer votre propre environnement conda sur Dalia.
Il est recommandĂ© de faire cette procĂ©dure directement sur un nĆud de calcul pour que l'architecture ARM soit dĂ©tectĂ©e automatiquement lors de l'installation.
Exemple de script d'installation d'un environnement conda avec Miniforge :
# Connexion Ă un nĆud de calcul
srun --ntasks=1 --cpus-per-task=36 --gres=gpu:1 --hint=nomultithread --pty bash
# Téléchargement de miniforge
cd /lustre/work/<project_group>/<login>/
wget "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-aarch64.sh"
# Installation de miniforge
bash Miniforge3-Linux-aarch64.sh
Lors de l'exécution du script Miniforge3-Linux-aarch64.sh, il vous sera demandé si vous acceptez l'emplacement d'installation par défaut /lustre/home/<login>/miniforge3. Afin de ne pas saturer votre HOME, il est nécessaire de préciser un chemin pointant plutÎt dans votre espace de travail, par exemple /lustre/work/<project_group>/<login>/miniforge3.