non mais utiliser subl me fait gagner 17 % en temps....
Problème de scheduling. Bienvenue dans la magie de l'execution out of order :)
Essaye de bouger un peu le dec entre les instructions flottantes.
j'ai fait le test avec 256 et c'est les meme resultat qu'avec 128. La taille des vecteurs varie entre 1 et 1500. Dans un meme calcul, il peut y avoir des vecteur de toute taille.
Ah, mais 1500 c'est tout petit !
Essaye d'insérer des prefetch à intervalle de 64 avant la boucle :
prefetchtnta (...)
prefetchtnta 64(...)
Bien sûr, ne dépasse pas l'endroit où tu préfetches dans la boucle (ne mets pas un 128 si il y en a deja un dans la boucle, quoi).
[^] # Re: un sujet
Posté par Stephane Marchesin . En réponse au journal Optimisation de code C. Évalué à 1.
Problème de scheduling. Bienvenue dans la magie de l'execution out of order :)
Essaye de bouger un peu le dec entre les instructions flottantes.
j'ai fait le test avec 256 et c'est les meme resultat qu'avec 128. La taille des vecteurs varie entre 1 et 1500. Dans un meme calcul, il peut y avoir des vecteur de toute taille.
Ah, mais 1500 c'est tout petit !
Essaye d'insérer des prefetch à intervalle de 64 avant la boucle :
prefetchtnta (...)
prefetchtnta 64(...)
Bien sûr, ne dépasse pas l'endroit où tu préfetches dans la boucle (ne mets pas un 128 si il y en a deja un dans la boucle, quoi).