Hello, merci pour ta réponse.
Je suis sur un petit projet de calcul parallèle (en utilisant MPI) d'une image en utilisant du raytracing. J'explore différentes possibilités de partage.
En ce moment je suis sur un découpage statique de l'image : je précalcule une image d'une taille X fois inférieure, donc très rapide à calculer. J'évalue le temps de calcul pour un pixel, ou pour une ligne pour ensuite répartir la charge équitablement sur les autres machines.
Pour les lignes, je m'en sors avec la fonction SDL_GetTicks() de la bibliothèque SDL qui me donne des résultats corrects, par contre lorsque je considère les pixels, c'est un peu plus problématique, les résultats ne sont pas satisfaisant.
J'ai réussi à obtenir des choses tout à fait bien en utilisant le registre rdtsc, sans trop stresser la machine lorsque le programme s'éxécute.
Code :
- inline unsigned long long int rdtsc_time()
- {
- unsigned long long int x ;
- __asm__ volatile (".byte 0x0f, 0x31" : "=A" (x)) ;
- return x ;
- }
|
Voilà toute l'histoire
J'ai oublié de préciser, je développe sous GNU/Linux.
@+
Message édité par Evadream -jbd- le 28-03-2004 à 00:43:18
---------------
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live - Martin Golding