L’ensemble de Mandelbrot

Dans cet article nous allons explorer l’ensemble de Mandelbrot. Le but ici est de se familiariser avec le développement C tout en mettant en place une version initiale d’un calcul relativement intensif. L’exemple retenu ici est le dessin de l’ensemble de Mandelbrot en reposant sur la petite bibliothèque de dessin PPM que nous avons précédement introduite. Ensuite, une fois le problème initial définit et une première implémentation réalisée, nous profilerons le programme pour identifier de potentielles optimisations. Enfin nous réaliserons une étude de scalabilité sur architecture KNL pour illustrer les métriques de performance HPC de base.

Poursuivre la lecture « L’ensemble de Mandelbrot »

Les Bases de GDB

Dans cet article nous allons présenter l’utilisation basique du débogueur GDB. Nous commencerons par illustrer les différents modes de lancement avant de présenter les différentes commandes de base.

À la fin de ce tutoriel vous saurez:

  • Lancer GDB sur votre programme
  • Vous attacher à un programme en cours d’éxécution
  • Explorer l’état d’un programme via l’invite de commande GDB

Poursuivre la lecture « Les Bases de GDB »

Profilage avec Callgrind

Callgrind est un outil de la famille de valgrind. Il permet de faire du profilage à grain assez fin. Cet outil est très portable et permet en combinaison avec l’outil Kcachegrind de visualiser de manière assez précise des profils de performance.

L’inconvénient principal de cet outil est son surcoût relativement important, il faut donc veiller à cibler un cas test de taille limitée et non un cas représentatif. Aprés avoir exposé le processus d’installation, nous allons  présenter les processus de mesure puis comment les résultats peuvent être analysés.

Poursuivre la lecture « Profilage avec Callgrind »

Profilage avec Linux Perf

Dans ce tutorial, nous allons utiliser Linux-Perf pour collecter les données de performance d’une application parallèle. Notre but ici et de permettre simplement l’identification des points  chauds d’un code donné, le tout en étant agnostique au runtime sous-jacent.

À la fin de ce module vous saurez:

  • Collecter des données de performance avec Linux-perf
  • Analyser ces données avec « perf report »
  • Visualiser ces données avec « flamegraph »

Poursuivre la lecture « Profilage avec Linux Perf »