Table des matières

Visualisation à distance HPC

Le mésocentre dispose d'une solution de visualisation à distance exploitant la puissance des cartes graphique Nvidia Tesla K20 et le protocole VirtualGL.

HOW TO?

  • Normal X-forwarding sends all X rendering instructions and the client does all the rendering on a CPU.
  • VirtualGL overrides this protocol and renders 3D graphics at the host’s GPU and then send only the rendered 2D images to the client (the scheme is much more complicated).

Seules les applications exploitant l'affichage 3D (OpenGL par exemple) sont supportées

Introduction

Une file d'attente spécifique a été mise en place sur le cluster Lumière pour permettre l'exécution de programmes ayant besoin de rendu graphique 3d gourmand en ressources, éventuellement combiné à du calcul CUDA.

La machine contient :

Caractéristiques

Voici la liste des étapes à suivre dans l'ordre.

1. Préparation de la machine locale

Pour pouvoir utiliser une session graphique sur le cluster lumière, il est nécessaire d'installer sur votre machine le logiciel TurboVNC

2. Lancement d'une session graphique

Sur le mésocentre, depuis l'un des nœuds de connexion de lumière, il est possible de demande une nouvelle session graphique à l'aide de la commande suivante (Se placer dans WORK d'abord) :

$ 3dsession

  • A la première connexion, un mot de passe vous sera demandé, il est différent de votre mot de passe mésocentre
  • Tous les paramètre indiqués à cette commande seront transmis à SGE : il est ainsi possible de réserver un GPU de la manière suivante :
$ 3dsession 

Il est également possible de passer des arguments pour le serveur VNC à l'aide de la variable d'environnement VNC_OPTIONS

Cette commande met la nouvelle session graphique en file d'attente SGE, en attendant que les ressources demandées soient disponibles. Il est possible de vérifier l'état de la session à l'aide de la commande qstat :

$ qstat
[user1@mesologin2 WORK]$ qstat
job-ID  prior   name          user         state submit/start at     queue                          slots ja-task-ID 
--------------------------------------------------------------------------------------------------------------------
 999999 0.00000 visu_session  user1        qw    09/03/2015 13:48:42                                    1   

Une fois la session en exécution (le job passe en état r), l'adresse de connexion à la session est affichée dans la sortie standard du job SGE. Les informations se trouvent dans le fichier correspondant au job SGE, par exemple :

visu_session.o999999
Waiting 5 seconds for visualization server to start...

=========================================================================
From your local computer you can connect to your 3D session              
With a VNCviewer using the following adress:                             
                                                                         
         mesovisu.univ-fcomte.fr:1                             
                                                                         
If no error were displayed, the visualization server is now started.  
=========================================================================

L'adresse VNC pour cette session est mesovisu.univ-fcomte.fr:1

Les adresses indiquées changent pour chaque session graphique : il est important de bien se reporter à celle indiquée au moment de l'exécution !

3. Connexion

La connexion se fait depuis votre machine, il est nécessaire d'installer TurboVNC sur votre poste de travail.

Linux

La commande indiquée peut alors être utilisée dans un terminal, sous Linux, pour se connecter à la session mesovisu.univ-fcomte.fr:1

Par exemple, en ligne de commande :

$ /opt/TurboVNC/bin/vncviewer mesovisu.univ-fcomte.fr:1

Windows et Mac OS X

Sur des systèmes Windows ou Mac, il est préférable de lancer le logiciel manuellement, puis d'utiliser l'adresse de connexion au moment où celle-ci est demandée :

$ mesovisu.univ-fcomte.fr:1

Vous pouvez modifier les paramètres d'affichage/connexion selon vos besoins.


Une fois connecté, une session graphique (GNOME) est initialisée

4. Lancer un programme utilisant l'accélération 3D

Pour pouvoir utiliser l'accélération OpenGL du système, il est nécessaire de préfixer la commande de lancement du programme par vglrun :

$ vglrun <nom du programme>

5. Quitter la session

Il est possible à tout moment de quitter la session allant dans le menu system user (menu haut à droit) puis quitter la session. Ou tout simplement arrêter le job SGE correspendant à votre session

qdel <idJob>

Quitter la session aura pour effet d'arrêter le job, et donc de tuer les programmes en cours d'exécution. Pour éviter cela, il suffit de fermer le client VNC lui-même uniquement, de manière à pouvoir se reconnecter ultérieurement à la session graphique.

FAQ

Avant de lancer 3dession, il faut passer le paramètre au serveur via la variable d'environnement VNC_OPTIONS

Par exemple pour une résolution de 1680x1050 :

$ export VNC_OPTIONS="-geometry 1680x1050"
$ 3dsession

Oui, en fournissant l'URL de votre session et votre mot de passe.

Vous pouvez demander plus de temps (par exemple 4h) avec la commande :

$ 3dsession -l h_rt=4:00:00

Attention : le temps maxi est de 72h.

Oui, la session est un job SGE , il suffit déconnecter/reconnecter l'application vncviewer

Deux solutions :

  1. Dans la session graphique, cliquer sur System User puis quitter
  2. Sur la machine de login mésocentre, arrêter le job correspondant avec la commande qdel <numeroJob>