#include "essai_fibo.h" int main(int argc, char *argv[]) { int taille = 500; //je souhaite calculer le Nieme terme de la suite de fibo si uo = 0 et u1 = tab[i] //je cree 2 tableaux pour comparer les resultats en serie et en parallele int * tab_serie = new int [taille]; int * tab_paral = new int [taille]; for (int i = 0; i < taille; ++i) { tab_serie[i] = 1; tab_paral[i] = 1; } //---------------------------------------------- //--------------------------------------------- //1. on fait les calculs en serie //--------------------------------------------- cout << "Debut du calcul en serie ..." << endl; tick_count serial_t0 = tick_count::now(); calcul_fibo_serie(tab_serie, taille, N); tick_count serial_t1 = tick_count::now(); cout << " version serie executee en " << (serial_t1 - serial_t0).seconds() << " d apres tick_count " << endl; //---------------------------------------------- //--------------------------------------------- //2. on fait les calculs en parallele //--------------------------------------------- cout << "\nDebut du calcul en parallele ..." << endl; tick_count parallel_t0 = tick_count::now(); /* on affiche la valeur du membre static nb_appel_copie de Calcul_fibo avant l'appel de la fonction */ cout << " Calcul_fibo::nb_appel_copie = " << Calcul_fibo::nb_appel_copie << endl; calcul_fibo_parallele(tab_paral, N, 0, taille); /* et après, pour voir le nombre de copies effectuées */ cout << " Calcul_fibo::nb_appel_copie = " << Calcul_fibo::nb_appel_copie << endl; tick_count parallel_t1 = tick_count::now(); cout << " version parallele executee en " << (parallel_t1 - parallel_t0).seconds() << " d'apres tick_count " << endl; //---------------------------------------------- //--------------------------------------------- //3. verification des resultats //--------------------------------------------- for (int i = 0; i < taille; ++i) { if (tab_serie[i] != tab_paral[i]) cout << " !!!!!!!!!! erreur - resultats differents !!!!!!!!!!" << endl; } cout << " ----------- Fin de verification des resultats -----------" << endl << endl; cout << "\nGain = " << (double)(serial_t1 - serial_t0).seconds() / (parallel_t1 - parallel_t0).seconds() << endl << endl; delete [] tab_paral; delete [] tab_serie; return 0; }