Mesures de performance
Environnement
Les exécutions ont été effectuées sur un Linux avec deux Intel Xeon E5-2630 (6 coeurs HT), 16 GB de RAM et gcc 6.2.1. Le temps mesuré ne concerne que la méthode carree() et le programme a été compilé avec et sans OpenMP. Enfin nous n'avons pas pris la moyenne de plusieurs expériences (shame ! shame ! shame !)
Cliquez sur les images pour avoir la version animée.
Taille variable de tableau
On fait varier la taille du tableau et on mesure le temps d'exécution pour la version séquentielle et la version OpenMP avec un nombre variable de threads (notés x_thread).
On note les points suivants :
- Il y a un léger surcoût à utiliser OpenMP (1_thread vs sequentiel)
- Avoir deux threads rend le programme 1.4 fois plus rapide
- Autour de 5-6 threads le gain devient négligeable
Performance en fonction du nombre de threads
On fixe maintenant la taille du tableau à 400M éléments et on fait varier le nombre de threads OpenMP.