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.
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 (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 et des valeurs traitées. La mise à zéro des nombres dénormalisés ne suffit pas.
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 (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.