Introduction à la programmation parallèle - 10 Prédire la performance

I2PP_banner.png












Cet article est la suite de l'article : Introduction à la programmation parallèle - 09 Mise en pratique des taches
La suite de cet article se trouve dans l'article : Introduction à la programmation parallèle - 11 Améliorer la performance

Si nous avons passé les 9 videos précédentes à paralléliser notre logiciel, c'est bien sur que la performance de notre logiciel non parallèle ne suffisait pas. Mais le gain de performance en passant au parallèle est loin d'être évident.
En effet une loi, la loi de Amdahl, donne une idée du gain qui peut être attendu. Cette loi dit tout simplement qu'un gain de vitesse en parallèle ne peut être attendu que pour les parties de votre logiciel sur lesquelles porte effectivement votre effort de parallélisme.

Vous pourriez penser qu'il s'agit d'une lapalissade, mais cette loi est loin d'être intuitive. Exemple : vous avez un logiciel ou un gros calcul occupe 80% du temps d'exécution. vous le parallélisez parfaitement. Intuitivement, vous pourriez penser que vous avez résolu l'essentiel du problème.

Sur une machine à 4 cœurs, le logiciel ira 2.5x plus vite ce qui n'est pas si fantastique que cela. Sur un 8 cœurs, 3.3x plus vite. Et sur une machine avec un nombre infini de coeurs, 5x plus vite maximum. Décevant, non ?

Conclusion : avant de vous jetez sur le code, évaluez la performance maximum que vous pouvez attendre de votre effort de parallélisation. Peut être faut il un changement plus radical, changer l'algo ?



Introduction to Parallel Programming : 10... by Intel_Academic_EMEA
Pour de plus amples informations sur les optimisations de compilation, consultez notre Avertissement concernant les optimisations.