/*-----------------------------------------------------------------*/ int main(int argc, char* argv[]) { int n; char g_i; int* a; double start, finish; Get_args(argc, argv, &n, &g_i); a = malloc(n*sizeof(int)); if (g_i == 'g') { Generate_list(a, n); # ifdef DEBUG Print_list(a, n, "Before sort"); # endif } else { Read_list(a, n); } start = omp_get_wtime(); Odd_even(a, n); finish = omp_get_wtime(); # ifdef DEBUG Print_list(a, n, "After sort"); # endif printf("Elapsed time = %e seconds\n", finish - start); free(a); return 0; } /* main */
/*-------------------------------------------------------------------*/ int main(int argc, char* argv[]) { int my_rank, p; char g_i; int *local_A; int global_n; int local_n; MPI_Comm comm; double start, finish; MPI_Init(&argc, &argv); comm = MPI_COMM_WORLD; MPI_Comm_size(comm, &p); MPI_Comm_rank(comm, &my_rank); Get_args(argc, argv, &global_n, &local_n, &g_i, my_rank, p, comm); local_A = (int*) malloc(local_n*sizeof(int)); if (g_i == 'g') { Generate_list(local_A, local_n, my_rank); } else { Read_list(local_A, local_n, my_rank, p, comm); } # ifdef DEBUG Print_local_lists(local_A, local_n, my_rank, p, comm); # endif start = MPI_Wtime(); Sort(local_A, local_n, my_rank, p, comm); finish = MPI_Wtime(); if (my_rank == 0) printf("Elapsed time = %e seconds\n", finish-start); # ifdef DEBUG Print_local_lists(local_A, local_n, my_rank, p, comm); fflush(stdout); # endif Print_global_list(local_A, local_n, my_rank, p, comm); free(local_A); MPI_Finalize(); return 0; } /* main */
/*-----------------------------------------------------------------*/ int main(int argc, char* argv[]) { long n; char g_i; long* a; Get_args(argc, argv, &n, &g_i); a = malloc(n*sizeof(long)); if (g_i == 'g') { Generate_list(a, n); Print_list(a, n, "Before sort"); } else { Read_list(a, n); } Bubble_sort(a, n); Print_list(a, n, "After sort"); free(a); return 0; } /* main */
/*-----------------------------------------------------------------*/ int main(int argc, char* argv[]) { int n; char g_i; int* a; Get_args(argc, argv, &n, &g_i); a = (int*) malloc(n*sizeof(int)); if (g_i == 'g') { Generate_list(a, n); Print_list(a, n, "Before sort"); } else { Read_list(a, n); } Odd_even_sort(a, n); Print_list(a, n, "After sort"); free(a); return 0; } /* main */