[C/C++] #define processeur de type pentium

#define processeur de type pentium [C/C++] - C - Programmation

Marsh Posté le 27-03-2004 à 23:41:23    

Bonjour,
 
J'ai effectuer qqs recherches, mais je n'ai pas réussi à trouver qqchose qui me satisfasse. Existe t'il une directive permettant de "détecter" si la machine sur la laquelle on essaye de compiler du code est de type pentium ou non ?
 
Merci !
 
@+


---------------
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live - Martin Golding
Reply

Marsh Posté le 27-03-2004 à 23:41:23   

Reply

Marsh Posté le 27-03-2004 à 23:42:22    

juste comme ça, t'en as besoin pourquoi ?
 
rien de portable, je vois de temps en temps des __pentium__ et des #define MODULE_PROC_FAMILY "PENTIUMII "


Message édité par Taz le 27-03-2004 à 23:53:26
Reply

Marsh Posté le 28-03-2004 à 00:41:09    

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 :
  1. inline unsigned long long int rdtsc_time()
  2. {
  3. unsigned long long int x ;
  4. __asm__ volatile (".byte 0x0f, 0x31" : "=A" (x)) ;
  5. return x ;
  6. }


 
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
Reply

Marsh Posté le 28-03-2004 à 01:01:28    

ah ouaip, je la connais que trop cette histoire. déjà cette méthode est trop imprécise comme tu le constates. tu as besoin de quoi précisément ?

Reply

Marsh Posté le 28-03-2004 à 01:14:46    

Je le constate en effet. Précisemment, j'ai besoin de quelque chose qui puisse mesurer une durée, avec la meilleure précision possible.


Message édité par Evadream -jbd- le 28-03-2004 à 01:14:57

---------------
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live - Martin Golding
Reply

Marsh Posté le 28-03-2004 à 01:20:18    

ben tu as gettimeofday, clock_gettime par exemple (avec meme du temps réel mou)

Reply

Marsh Posté le 28-03-2004 à 01:48:14    

Merci bien, je ne connaissais pas clock_gettime ! Je vais jeter un coup d'oeil par là. Merci !


---------------
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live - Martin Golding
Reply

Marsh Posté le 28-03-2004 à 01:51:08    

cela dit, gettimeofday me parait déjà suffisemment précis, test clock_gettime en RT, évidemment on est très très loin de la ns

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed