Fight Prescott 3GHz vs. 8500 GT sur calcul d'intervalle en float :
Code:
Opérateur CPU GPU dummy-proof GPU laxiste Speedup d-p Speedup lax
x+y 7,75 1,56 0,82 4,97 9,45
x*y 24,44 1,87 1,22 13,07 20,03
x^2 19,67 1,02 0,68 19,28 28,93
x^5 68,54 1,73 0,78 39,62 87,87
(TODO: aligner les colonnes avec les en-têtes)
Les chiffres sont en ns par opération, obtenus en soustrayant le temps d'une boucle vide au temps d'une boucle pleine de calculs. La version CPU codée en 15 min est monothread donc exploite pas l'HT et utilise la bibliothèque d'intervalle de Boost. [edit: et compilée avec gcc 4.1.3 en -O2]
Ma version dummy-proof tient compte des dénormaux, des infinis et des NaN. La version laxiste fait n'importe quoi si ça arrive.
Je suis particulièrement fier de ma fonction puissance entière constante qui fait que x^5 coûte moins cher qu'une addition
Envoyé par
Yasko
A part sur x86, sur quoi vous avez testé ?
Ton problème de résolution d'équation, ca devrait bien tourner sur une archi RISC in-order (enfin, je m'avance un peu peut-être mais c'est l'impression que j'ai).
C'est vrai qu'on a un Merced au fond du couloir qui prend la poussière
Et un Alpha 21264A EV6.7 à 667 MHz sous Tru64 5.1 qui sert de serveur web/proxy/ssh/un peu tout.
Mais je pense qu'il faut juste une archi un peu couillue en flottant SP... Avec une implémentation bien tunée en SSE on devrait déjà gagner pas mal.
De toute façon sur mes benchs synthétique on n'a pas de problème de dépendances ni mémoires et on peut atteindre facile le débit crête quelle que soit l'archi...
Vous avez pas essayé sur une PS3 ? (Cell...)
Nan, on a pas réussi à trouver les crédits pour s'en acheter une, déjà justifier une carte graphique c'est dûr...