Outils pour utilisateurs

Outils du site


cali2-b:start

Voir cette page sous forme de diaporama.

CALI VERSION 2-B

Une évolution logicielle majeure est passée en production sur CALI le 14 septembre 2022. Le système est un équivalent RedHat 8 ( AlmaLinux 8.6).

Une phase transitoire est en cours, avec d'un côté, le cluster CALI dans son ancienne version (version CALI2-A) ; et d'un autre côté son successeur, noté CALI2-B. Les noeuds de calcul existants ont été répartis entre les deux versions.

Vous trouverez ici les éléments importants à prendre en compte pendant cette période.

Connexion aux clusters

Connexion au "nouveau" cluster CALI 2-B

Nom DNS pour se connecter : cali.unilim.fr

La connexion est possible :

  • Par SSH
  • Par X2GO

Connexion à "l'ancien cluster" CALI 2-A

Nom DNS : cali2-a.unilim.fr

Dans la suite, nous indiquons les différences entre l'ancienne version et la nouvelle

Espaces de stockage

Home directory

Le home directory n'est pas le même

  • Vous pouvez retrouver l'ancien home directory en allant dans le sous-dossier ~/old-home (lien présent à la racine de votre nouveau home directory)
  • Depuis CALI2-A, vous ne pouvez pas accéder au home de CALI2-B

Espace scratch

L'espace scratch existe toujours :

  • Identique à celui de CALI2-A
  • Accessible via le lien ~/scratch présent dans votre home directory

Choix de l'environnement logiciel -- Les modules

La commande module permet (comme précédemment) de sélectionner un environnement logiciel, pour utiliser un logiciel avec une certaine version.

A la différence de CALI2-A, aucun module n'est chargé par défaut. Sur CALI2-A, certains modules (compilateurs Intel, Intel MPI) étaient chargés par défaut – ce n'est plus le cas.

Slurm

L'environnement Slurm est relativement identique à CALI2-A, afin de faciliter la transition :

  • mêmes partitions
  • mêmes limites

Accès aux GPU : la partition gpu a été étendue et permet à tout le monde d'accéder à des cartes K20m, ou GTX 1080 Ti

  • vous pouvez indiquer précisément le type de carte voulue – modifier la réservation pour ajouter le type : --gres=gpu:K20m:1 ou --gres=gpu:GTX1080Ti:1 si vous voulez une carte d'un des types
  • les cartes GTX1080Ti sont mises à disposition par des laboratoires qui les ont financés – en contre-partie, s'ils en ont besoin, vos jobs seront pré-emptés en les arrêtant (kill) et en les remettant dans la queue

Compilateurs

Suite GNU

  • Vous disposez nativement de la suite GNU (gcc, g++, gfortran), en version 8.5, de la distribution AlmaLinux
  • Si vous avez besoin d'autres versions, les modules permettent de choisir une autre version – récupérées de CALI2-A – voir les versions disponibles avec module avail gcc

Suite INTEL

  • Les anciennes versions des compilateurs Intel sont toujours disponibles – voir les versions disponibles avec module avail intel/composer
  • Une nouvelle version, la suite OneAPI, a été installée – pour la charger, la commande est simplement module load compiler

MPI

Deux familles de librairies MPI sont mises à disposition : OpenMPI et Intel MPI

Avertissement

Une partie des noeuds du cluster est relié par un réseau haute performance Infiniband, de technologie QLogic TrueScale ou Intel Infinipath. Cette technologie a été abandonnée par Intel, et mal supportée à l'heure actuelle.

La meilleure façon de faire fonctionner ce réseau consiste à utiliser une API appelée psm. Hors elle ne fonctionne pas sur CALI2-B. Il faut alors se “rabattre” soit sur l'API verbs, soit sur le mode tcp.

OpenMPI

Trois versions sont réellement disponibles :

  • celle livrée par AlmaLinux 8 – à charger avec module load mpi/openmpi-x86_64
  • deux versions (3.1 et 4.1) recompilées – à charger avec module load mpi/openmpi/3.1.6 ou mpi/openmpi/4.1.2

La configuration qui semble optimale avec OpenMPI est d'utiliser la couche PML ucx – par exemple en positionnant la variable suivante dans vos jobs slurm :

export OMPI_MCA_pml=ucx 

Si vous avez besoin de déboguer la couche OpenMPI, vous pouvez ajouter ces variables :

export OMPI_MCA_pml_base_verbose=10
export OMPI_MCA_mtl_base_verbose=10
export OMPI_MCA_btl_base_verbose=10

Intel MPI

Avertissement La librairie Intel MPI semble moins efficace qu'OpenMPI en l'absence de support de psm. A tester pour votre code.

Plusieurs versions sont disponibles :

  • les ancienns versions de CALI2-A sont toujours disponibles – voir les versions avec module avail mpi/impi
  • une version issue de OneAPI est aussi disponible : module load mpi/2021.3.0

Pour utiliser verbs, vous devez positionner la variable suivante (par exemple dans vos jobs slurm) :

export FI_PROVIDER=verbs
# Et si vous voulez avoir des informations de "debogage":
export FI_LOG_LEVEL=99
export I_MPI_DEBUG=4 

Intégration avec SLURM

Comme sur CALI2-A, il est conseillé de lancer les programmes MPI via srun

Logiciels disponibles

Les anciens logiciels de CALI2-A ont été recopiés et sont donc toujours accessibles via les modules. Cependant, la plupart risquent de ne pas fonctionner sur CALI2-B car l'environnement système n'est plus le même :!:

  • Si vous obtenez une erreur error while loading shared libraries: libiomp5.so, chargez le module pour les compilateurs Intel : module load compiler
  • Si vous obtenez une autre erreur error while loading shared libraries: …so, chargez le module suivant : module load compat/centos-6

Si ces mesures ne sont pas suffisantes, signalez-nous le logiciel nécessaire pour vos calculs et l'erreur précise obtenue.

Note Nous vous rappelons aussi que sous Linux, vous pouvez installer tous les logiciels souhaités dans vos espaces disques, en totale autonomie – suivant votre degré de familiarité avec ce système.

cali2-b/start.txt · Dernière modification: 2022/09/20 17:26 de montap01