int main(int argc, char **argv) { MPI_Init(&argc, &argv); double start_time, end_time; int i; // Init default values. Init_Default(); // Read arguments. Read_Options(argc, argv); // Init the matrix. Init_Matrix(); // Start timer. start_time = MPI_Wtime(); // Do guassian elimination. Work(); // Stop timer. end_time = MPI_Wtime(); if(PRINT == 1) { printf("===== AFTER GUASSIAN ELIMINATION ======\n"); Print_Matrix(); printf("=======================================\n\n"); } double time_taken = (end_time - start_time); printf("Execution time: %f\n", time_taken); }
/*starting the main function*/ int main(int argc, char **argv) { pthread_t threads[NUM_CPUS]; long k; Init_Default(); /* Init default values */ Read_Options(argc,argv); /* Read arguments */ Init_Matrix(); /* Init the matrix */ if(pthread_barrier_init(&barrier, NULL, NUM_CPUS)) /*barrier synchronization function*/ { printf("Could not initialize the barrier \n"); return -1; } for(k = 0; k < NUM_CPUS; k++) { if(pthread_create (&threads[k], NULL, (void *) &work, (void *) k)) /*allocating the work to threads*/ { printf("Could not create thread \n"); return -1; } } for(k = 0; k < NUM_CPUS; k++) { if(pthread_join(threads[k],NULL)) /* Join function to ensure that all the threads have done their work */ { printf("Could not join thread \n"); return -1; } } if(pthread_barrier_destroy(&barrier)) /*Destruction of the barrier*/ { printf("Barrier could not be destroyed"); return -1; } if (PRINT == 1) /*printing the result*/ Print_Matrix(); }
void RichRadiatorTileManager::Init(char *filename){ // Default initialization if(_number_of_rad_tiles!=0) return; // Not necessary //#pragma omp barrier //#pragma omp master { // cout<<"RichRadiatorTileManager::Init-default radiator"<<endl; Init_Default(); // char name[801]; // sprintf(name,"%s/%s/RichDefaultAGLTables.dat",getenv("AMSDataDir"),AMSCommonsI::getversion()); // sprintf(name,"%s/%s/RichDefaultAGLTables.02.dat",getenv("AMSDataDir"),AMSCommonsI::getversion()); // sprintf(name,"%s/%s/RichDefaultAGLTables.03.dat",getenv("AMSDataDir"),AMSCommonsI::getversion()); // New very careful calibration // sprintf(name,"RichDefaultAGLTables.04.dat"); ReadFromFile(filename); // Compute tables _compute_tables(); } //#pragma omp barrier }