Bonjour
Je test la performance de mon programme en calculant le temps d'excecution du programme avec un nombre different de processeurs
J'utilise pour se faire plusieurs fonction c++ et MPI:
1- struct tm *init_time, *final_time;
time_t init_lt,final_lt;
debut prog :
init_lt = time('\0');
init_time = localtime(&init_lt);
fin prog:
fin_lt = time('\0');
fin_time = localtime(&fin_lt);
fin_lt=difftime(fin_lt,init_lt);
2- Avec la fonction clock();
debut prog:
clock_t startime=clock();
fin prog:
clock_t endtime=clock();
double elapsedtime=(double)(endtime-starttime)/CLOCKS_PER_SEC;
3- fonction MPI
debut prog:
double temps_debut=MPI::Wtime()
fin prog:
double temps_fin=MPI::Wtime()-temps_debut;
Sur la plupart des machines les 3 valeurs de temps calculer diminue lorsque le nombre de processeurs augmente ( c'est quand meme le but)
Sur une machine le temps calculer avec la fonction clock() diminue bien lorsque le nombre de processeurs augmente pour les deux autres valeur de temps augmentent!...
je ne comprend pas trop pourquoi. Auriez-vous des explications?
Merci d'avance
Partager