Jean Zay : nœuds de visualisation

Description

La configuration est composée de 5 nœuds de type scalaire avec les caractéristiques suivantes :

  • 2 processeurs Intel Cascade Lake 6248 (20 cœurs à 2,5 GHz), soit 40 cœurs par nœud
  • 192 Go de mémoire par nœud
  • 1 GPU Nvidia Quatro P6000

Utilisation

Il est préférable d'utiliser ces nœuds de visualisation avec des logiciels capables d'utiliser le GPU disponible comme VisIt ou ParaView et réserver les nœuds pré/post ou frontaux à des logiciels comme Ferret ou NcView.

Pour un usage de type interactif, vous devez utiliser le script idrvnc-alloc depuis un des nœuds frontaux de Jean Zay afin de réserver des ressources en temps (1 heure par défaut jusqu'à 4 heures) et en mémoire (10 cœurs donc 40 Go de mémoire) et d'utiliser la carte graphique avec une compression des données entre le serveur de visualisation et votre machine locale à l'aide d'une connexion client/serveur VNC. Cela nécessite l'installation sur votre machine distante d'un client VNC.

Pour un usage de type batch, vous pouvez soumettre un travail Slurm depuis une frontale de Jean Zay à l'aide d'une partition spécifique visu : cette partition visu permet de lancer un travail sur l'un des nœuds de visualisation de Jean Zay jean-zay-visu, sur lesquels les heures de calcul ne sont pas déduites de votre allocation. Par défaut, le temps d'exécution est de 10 minutes et il ne peut dépasser 4 heures (soit –time=HH:MM:SS ≤ 4:00:00).

Exemple de job batch sur un nœud visu

#!/bin/bash
#SBATCH --job-name=paraview_avec_pvbatch   # nom du job
#SBATCH --nodes=1                 # 1 nœud
#SBATCH --ntasks-per-node=1       # 1 processus
#SBATCH --time=00:45:00               # ici 45 mn, par défaut 10 mn, 4 heures maximum
#SBATCH --output=paraview_MHD%j.out
#SBATCH --error=paraview_MHD%j.err
##SBATCH --account <mon_projet>@cpu   # si besoin indiquer l'accounting CPU : <mon_projet> = echo $IDRPROJ
#SBATCH --partition=visu          # pour execution sur un nœud de visualisation
 
cd ${SLURM_SUBMIT_DIR}                # on se place dans le répertoire de soumission
module purge                          # on nettoie les modules charges en interactif et herites par defaut
 
module load paraview/5.8.0-osmesa-mpi-python3-nek5000 # chargement de la version de paraview permettant le offscreenrendering
 
set -x
 
srun --unbuffered pvbatch --force-offscreen-rendering script.py

Exemple de session idrvnc-alloc

[login@jean-zay1: ~]$ idrvnc-alloc
salloc: Pending job allocation 633386
salloc: job 633386 queued and waiting for resources
salloc: job 633386 has been allocated resources
salloc: Granted job allocation 633386
salloc: Waiting for resource configuration
salloc: Nodes jean-zay-visu1 are ready for job
INFO 2020-11-03 17:15:10,376 Starting VNC server. Please wait...:
INFO 2020-11-03 17:15:10,502 --Launching VNC server. Please wait before attempting to connect...
INFO 2020-11-03 17:15:15,509 --VNC server launched. Please connect.
URL to connect: jean-zay-visu1.idris.fr:20
Password VNC:   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Ensuite, vous lancez votre client local VNC et dans la fenêtre qui s'ouvre, vous renseignez le numéro de noeud visu et le numéro de port à l'aide de l'avant-dernière ligne

URL to connect: jean-zay-visu1.idris.fr:20

Vous cliquez sur connect puis sur la fenêtre suivante :

Vous entrez le mot de passe affiché sur la dernière ligne :

Password VNC:   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Cela va ouvrir une fenêtre du nœud de visu sur votre machine locale :

fenetre1-idr.jpeg

Par exemple, on va rechercher les versions de ParaView disponibles et on va choisir la version binaire qui est capable de lire tous les types de fichiers possibles :

fenetre2-idr.jpeg

Et on va lancer ParaView avec vglrun (pour les logiciels graphiques utilisant les librairies OpenGL) :

fenetre3-idr.jpeg

Modalités d'accès au service VNC

Similairement aux règles en vigueur pour l'accès aux frontales de Jean Zay, l'accès VNC est soumis au filtrage des adresses IP par le pare-feu. Vous pouvez rajouter une nouvelle IP via le formulaire de gestion de compte si nécessaire.

Accès VNC via une machine intermédiaire

Si vous vous connectez habituellement à Jean Zay via une machine intermédiaire, vérifiez si votre client VNC gère nativement l'usage d'une telle machine. Si ce n'est pas le cas, vous pouvez utiliser une redirection de port.

Si l'adresse retournée par la commande idrvnc-alloc est jean-zay-visuX.idris.fr:P, le démarrage de la redirection de port se fait via la commande suivante :

ssh -N -f -L 5900+P:jean-zay-visuX.idris.fr:5900+P login_machine_proxy@machine_proxy

Par exemple, si l'adresse retournée par idrvnc-alloc est jean-zay-visu2.idris.fr:9 alors la ligne de commande à utiliser pour démarrer la redirection est :

ssh -N -f -L 5909:jean-zay-visu2.idris.fr:5909 login_machine_proxy@machine_proxy

Les paramètres login_machine_proxy et machine_proxy doivent être remplacés par votre nom d'utilisateur sur la machine intermédiaire et l'adresse de celle-ci. Les options -N -f permettent de démarrer la redirection de port sans démarrer une session interactive sur la machine intermédiaire.

Une fois la redirection de port active, vous pouvez vous connecter en utilisant localhost:P (localhost:9 pour notre exemple ci-dessus) dans votre client VNC.

Accès VNC via VPN

Si vous utilisez un VPN pour vous connecter à Jean Zay mais que la connexion via le client VNC ne fonctionne pas, prenez contact avec votre équipe informatique pour confirmer que le VPN est configuré de telle sorte à ce que le trafic à destination des serveurs VNC de l'IDRIS soit routé via le VPN.