Présentation et utilisation du serveur de calcul généraliste

Version imprimableVersion imprimableEnvoyer à un amiEnvoyer à un ami

Présentation

math11 est un serveur de calcul généraliste permettant l'utilisation des logiciels de mathématiques les plus courants. Il est équipé de 2 processeurs Intel Ivy Bridge de 10 cores chacun et de 256Go de ram. Une carte vidéo Nvidia K2000 permettant la visualisation 3D ainsi qu'une Tesla K20c pour le calcul GPU complètent cette configuration.

Logiciels disponibles pour le calcul

Une liste non exhaustive des logiciels installés : Scilab , Matlab, Mathematica, Maple, Freefem++, R, Haskell ....

ainsi que les compilateurs INTEL et GNU.

La librairie openMPI est également présente pour le calcul parallèle.

L'environnement de développement NIVIDIA est disponible pour le développement de codes de calculs en CUDA et OpenCL.

Des exemples sont disponibles dans ce répertoire : /usr/local/cuda/samples

Utilisation

Connexion

Pour se connecter, en ssh :

% ssh -Y math11.unice.fr

Vous avez également la possibilité d'utiliser la commande vglconnect qui permet d'utiliser le remote Rendering 3D, et donc d'améliorer notablement les performances graphiques, car on utilise la carte graphique K2000 pour le rendu.

% vglconnect math11.unice.fr

puis, au moment de lancer l'executable

% vglrun mathematica

Les modules

Afin de permettre une plus grande flexibilité dans l'utilisation des différents logiciels la commande module ainsi que les modules associés sont présents.

En effet, l'utilisation des compilateurs intel ou gcc, l'utilisation ou non de openMPI, de R ou de FreemFem++ demande un certain nombre de modifications dans les variables d'environnement. La commande module permet de charger et de decharger des modifications de l'environnement à la volée.

  • Pour obtenir la liste des modules disponibles

% module avail

  • Pour charger le module openMPI

% module load openmpi-1.6.5

  • Pour connaître la liste des modules chargés actuellement

% module list

Attention : Un module peut automatiquement charger des modules dont il a besoin. Par exemple

% module load R-3.0.2

% module list
Currently Loaded Modulefiles:
  1) gcc-4.8.2       2) openmpi-1.6.5   3) R-3.0.2

  • Pour décharger tous les modules actuellement chargés (Recommandé lorsque l'on change d'environnement)

% module purge

Le workdir

Afin d'accélérer les entrées sorties au moment des calculs, il est souhaitable d'utiliser un stockage local au serveur. En effet, les écritures et lectures vers des fichiers ne passeront ainsi plus par le réseau mais directement sur les disques disponibles sur la machine.

La création de ces espaces de travail est disponible sur demande.

Ensuite, on se rend dans son workdir, on y crée l'exécutable et on lance le calcul. Une fois celui ci terminé, on déplace simplement les résultats vers son répertoire utilisateur.

% cd /workdir/<login>
% ./mon-code.exe
% mv <résultats> ~/repertoire-de-destination

Quelques exemples concrets:

FreeFem++:

% vglconnect <votre login>@math11.unice.fr

Si vous avez fait la demande d'ouverture d'en espace Workdir:

% cd /workdir/<votre login>

Chargement de l'environnement:

% module load FreeFem++

Execution du programme de test en OpenMPI avec 2 cores, et affichage graphique des resultats:

% mpirun -np 2 FreeFem++-mpi /usr/local/src/freefem++-3.26-2/examples++-mpi/schwarz.edp  -glut ffglut

 

Utilisation de la dernière version de Gcc:

Chargement de l'environnement (les flags de compilation sont prédéfinis pour les processeurs IvyBridge: -march=core-avx-i -O2 -pipe )

% module load Gcc-4.8.2
% gcc <mon code.c>