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

Déboguer

Avant d’optimiser, il faut avoir un code exempt de bogues : le débogueur ddt peut vous aider à déboguer votre code (page à venir !)

Compiler

Quel compilateur utiliser, que font les wrappers mpi ?

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 :
    • MPIPROF (outil Bull/Atos) donne des informations synthétiques intégrées à la sortie standard.
    • Intel Trace Analyzer Collector (ITAC, outil graphique d’Intel(r)) peut vous donner des informations plus fines.
  • 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 intel [1].
    • vtune
    • advisor (doc à venir)

Placer les processus sur (...)

Placer les processus sur les cœurs de calcul
A venir ...

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)
Notes :

[1Attention, ces deux outils ne vous diront rien sur mpi, ils sont limités à un seul nœud

Les articles de cette rubrique

Pour profiler votre code, vous devez travailler en deux temps : Exécutez le code en lançant les instructions de profilage. Cette opération génèrera (...)
Lire l’article ...
Article mis en ligne le 19 février 2019
Dans cet article nous indiquons la manière d’utiliser l’outil Intel APS sur le système Olympe. L’utilisation de l’outil APS Intel(r) se fait en deux (...)
Lire l’article ...
Article mis en ligne le 7 mars 2016
dernière modification le 8 février 2019
ITAC est ou outil graphique permettant d’analyser le profil de communication d’un code parallélisé avec la librairie MPI. ITAC s’utilise en deux (...)
Lire l’article ...
Article mis en ligne le 18 janvier 2016
dernière modification le 19 février 2019
Description et utilisation de VTtune (outil de profilage d’Intel)
Lire l’article ...
Article mis en ligne le 30 octobre 2014
dernière modification le 19 février 2019