Pytorch

Utilisation de pytorch GPU via un conteneur Nvidia

L'installation de torch par pip ou conda sur l'architecture ARM (aarch64) installe une version CPU et pas une version GPU avec support CUDA.

Pour permettre une utilisation GPU, nous avons créé un conteneur apptainer en adaptant pour TURPAN le conteneur pytorch de Nvidia depuis le NGC. Il contient l'ensemble des programmes et librairies décrits ici : https://docs.nvidia.com/deeplearning/frameworks/pytorch-release-notes/rel-23-10.html

Utilisation du conteneur pytorch

Il y a deux façons d'utiliser ce conteneur :

  • En interactif (pour tester) :
srun -p shared -n1 --gres=gpu:1 --pty apptainer shell --nv /work/conteneurs/pytorch_23.10-py3-calmip.sif
python
import torch
<vos commandes python>
  • Ou dans un script sbatch (ici 1 cœur CPU + 1GPU) :
#!/bin/bash
#SBATCH -J mon_job
#SBATCH -p shared
#SBATCH --nodes 1
#SBATCH --ntasks 1
#SBATCH --time=0:15:00
#SBATCH --gres=gpu:1
apptainer exec --nv /work/conteneurs/pytorch_23.10-py3-calmip.sif python mon_script.py

Le conteneur n'a accès par défaut qu'à votre espace $HOME. Si vous avez besoin du /work ou du /tmpdir vous pouvez les accrocher en utilisant l'option bind d'apptainer par exemple :

apptainer exec --nv --bind /tmpdir,/work ....

Plus d'information dans la documentation d'apptainer : https://apptainer.org/docs/user/1.1/

Pytorch et modules python supplémentaires

Attention, l'utilisation de ce conteneur est incompatible avec l'utilisation des environnements conda !

Néanmoins, vous pouvez ajouter des modules avec pip depuis le conteneur à condition de le lancer sur une frontale de connexion, les noeuds de calcul n'ayant pas d'accès à internet :

apptainer shell --nv /work/conteneurs/pytorch_23.10-py3-calmip.sif

Puis installer les modules souhaités (avec l'option --user pour installer dans votre home) :

Apptainer> pip install --user wandb

 

Voir aussi

hdf5

Versions installées sur TURPAN : version 1.12.2 Compilées avec szlib 2.1.1, zlib 1.2.13 Pour les versions parallel, compilées avec openmpi 4.1.4

blas

Comment utiliser la librairie blas sous l'environnement nvhpc ?

lapack

Comment utiliser la librairie lapack sous l'environnement nvhpc ?

Scalapack

Dans l'environnement nvhpc module load scalapack/nvidia/2.2.0 Dans l'environnement arm module load scalapack/arm/2.2.0 Dans l'environnement gnu

netCDF

Versions installées sur TURPAN : versions netCDF-C 4.8.1 et netCDF-Fortran 4.6.0 Compilée avec hdf5-gnu/1.12.2-parallel,  gcc 11.2.0 et openmpi 4.1.4

parallel netCDF

Versions installées sur TURPAN : versions pnetCDF 1.12.3 Compilée avec netCDF 4.8.1

Turpan: Conda

L’environnement conda permet d’installer efficacement des environnements virtuels python

Turpan : Python

Cet article décrit les différentes versions disponibles de l’environnement conda "python"

Turpan : python-tools

Cet article décrit le contenu de l’environnement conda "python-tools", les modules python et leurs version et indique comment l’utiliser