Table des matières

Librairies MPI disponibles, réseau Infiniband

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 disponibles :

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 :

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