Améliorer les performances

Olympe la nuit

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 Olympe.

Compiler

Quel compilateur utiliser, que font les wrappers mpi ?

Déboguer

Avant d’optimiser, il faut avoir un code exempt de bogues : le débogueur ddt 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". La liste suivante explique dans quel ordre il est préférable d’utiliser ces outils.

  • APS, Application Performance Snapshot Un outil Intel permettant d’avoir en un coup d’œil une idée générale du profil de votre code. Vous aurez des données sur les E/S, les unités de calcul, l’utilisation de la mémoire, et les appels mpi. A utiliser en premier.
  • map (un outil arm) vous donnera les mêmes informations, mais vous verrez en plus leur évolution au cours du temps, et vous pourrez faire le lien entre ce que vous mesurez et votre code.
  • S’il semble y avoir un problème du côté de mpi :
  • Si vous souhaitez investiguer l’utilisation de la mémoire, l’outil Intel inspector peut vous aider (doc à venir)
  • Si le problème vient plutôt de l’utilisation des unités de calcul, vous pouvez utiliser deux outils intel1

Améliorer: la MKL

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

Placer les processus sur les cœurs de calcul

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).

1- Attention, vtune et adviser ne vous diront rien sur mpi, ils sont limités à un seul nœud

Fichiers attachés
Espace utilisateurs/Doc technique Olympe

Voir aussi

FAQ

Questions fréquentes et messages d'erreurs