5.3.2.4.2 : Cas avec le flag denorm to zero


La figure 56 montre les performance obtenues avec un cosinus lorsqu'il traite des tableaux initialisés ou non avec des nombres dénormalisés. On constate que l'arrondi des nombres dénormalisés à zéro permet de régler le problème de performance.

nothing nothing

Figure 56 : Performances obtenues avec l'optimisation -Ofast entre un cosinus de référence (+ violet) et la même fonction mais sur des tableaux initialisés aléatoirement avec des nombres dénormalisés, entre 1 (001) et 100\% (1). À gauche, le temps total en nanosecondes en fonctions du nombre d'éléments. À droite, le temps par élément en nanosecondes en fonctions du nombre d'éléments.



La figure 57 montre les performance avec un cosinus vectorisé lorsqu'il traite des tableaux initialisés ou non avec des nombres dénormalisés. On constate que la présence de nombres dénormalisés dégrade fortement les performances quand ceux-ci représentent entre 20 et 90\% des valeurs traitées. La mise à zéro des nombres dénormalisés ne suffit pas.

nothing nothing

Figure 57 : Performances obtenues avec l'optimisation -Ofast entre un cosinus vectorisé (+ violet) et la même fonction mais sur des tableaux initialisés aléatoirement avec des nombres dénormalisés, entre 1 (001) et 100\% (1). À gauche, le temps total en nanosecondes en fonctions du nombre d'éléments. À droite, le temps par élément en nanosecondes en fonctions du nombre d'éléments.