Améliorer les performances

Améliorer les performances de vos codes

Vous trouverez dans cette rubrique différents moyens de déboguer votre application, d’améliorer les performances et d’optimiser un calcul sur le système de calcul EOS.

Déboguer

Avant d’optimiser, il faut avoir un code exempt de bogues : le débogueur totalview peut vous aider à déboguer votre code

Mesurer

Le code étant débogué, un profilage lors de l’exécution sur des jeux de données tests vous permettra d’identifier les "points chauds" :

  • Pour un code openMP, on peut utiliser Vtune
  • Plusieurs outils permettent de profiler un code MPI :

Améliorer les communications mpi

si vous utilisez la version BullxMPI de la bibliothèque MPI, vous pouvez (la plupart du temps) améliorer grandement les performances de votre code en utilisant la couche MXM

Améliorer les performances grâce à la MKL

La MKL (bibliothèque d’Intel) permet souvent d’améliorer les performances. Elle comprend BLAS, LAPACK, ScaLAPACK... :

Vectoriser

La vectorisation permet de tirer partie des processeurs Intel les plus récents, en leur permettant d’exécuter un grand nombre d’opérations simultanément (additions et multiplications sur des vecteurs).

Présentation générale de la vectorisation sur les processeurs Intel (en Anglais)

Voir aussi

Bibliothèques scientifiques

FFTw HDF5

Logiciels scientifiques

Gaussian MEEP

Se connecter à EOS

Se connecter à Eos À partir de la plupart des réseaux académiques toulousains, on peut se connecter sur EOS par ssh :

L’espace-disque

L’espace disque d’EOS L’ espace disque d’EOS est constitué de trois espaces différents, chacun a une utilisation spécifique.

Lancer un calcul sur EOS

Lancer un calcul sur EOSLe mode interactif Pour la phase de mise au point

Documentations obsolètes concernant eos

L’uvprod (obsolète)

Comment fonctionne le système de Modules

Les commandes module permettent de personnaliser son environnement en termes de compilateurs, librairies, application (calcul, visu, etc...) de manière extrêmement simple.

ParaView

Lancement de ParaView Obligatoirement à partir d’un nœud graphique. Attention Si l’environnement openFoam est lancé, la commande ParaView n’est pas disponible : utilisez plutô

EOS schématisé : un peu de vocabulaire

Les termes techniques permettant de caractériser les différentes parties du supercalculateur

Gaussview

Utilisation de Gaussview Positionner l’environnement gaussian comme indiqué dans l’article sur Gaussian, puis :

XCrySDen

Lancer XCryDen à partir du menu graphique ! Ou... Lancer XCrysDen sur la frontale :

Jmol

Jmol est un outil de visualisation de molécules Lancer Jmol à partir du menu graphique Ou... lancer Jmol en ligne de commande :

gabedit

Pour l’utiliser : [@eoslogin1] gabedit

chdb, an MPI application for embarrasingly parallel problems

Embarrassingly parallel problems An embarrassingly parallel problem is a problem for which little or no effort is required to separate the problem into a number of parallel tasks [

compiler ses codes sur EOS

Le système de calcul EOS utilise le système d’exploitation linux. Ainsi deux environnements de compilation sont disponibles :

Une simulation en vidéo

Cette page présente une démonstration synthétique de l’usage du supercalculateur EOS.

Salome

SALOME propose des outils de pré/post-traitement et de couplage de codes de calcul pour la simulation numérique, ilintègre un module de visualisation (qui repose sur paraview).

VisIt

Lancement de VisIt Obligatoirement à partir d’un nœud graphique. VisIt est accessible à partir du menu graphique visit est également utilisable en ligne de commande :

A ParaView tutorial for parallel visualisation

In this tutorial, we explain how you can use several cores with ParaView for a better interactivity when visualizing huge quantities of data