#include #include #include #include static int N=100; #define NB_STEPS 50 double **cur_step; double **next_step; int comm_rank; int comm_size; /* initialize matrixes */ void init() { int i, j; cur_step = malloc(sizeof(double*) * N); next_step = malloc(sizeof(double*) * N); srand(time(NULL)); for(i=0; i1){ N = atoi(argv[1]); } struct timeval t1, t2; init(); gettimeofday(&t1, NULL); int i; for(i=0; i< NB_STEPS; i++) { printf("STEP %d...\n", i); compute(); } gettimeofday(&t2, NULL); double total_time = ((t2.tv_sec-t1.tv_sec)*1e6 + (t2.tv_usec - t1.tv_usec))/1e6; printf("%d steps in %lf sec (%lf sec/step)\n", NB_STEPS, total_time, total_time/NB_STEPS); return 0; }