From fc6ada420000f9b4ae632f1891469101754bf041 Mon Sep 17 00:00:00 2001 From: Tim <13517087@std.stei.itb.ac.id> Date: Wed, 4 Mar 2020 07:35:47 +0700 Subject: [PATCH] timer --- output/serial_3000.txt | 5 +++++ src/djikstra_paralel | Bin 24152 -> 24072 bytes src/djikstra_paralel.c | 50 +++++++++++++++++++++++------------------ src/djikstra_serial | Bin 13088 -> 17688 bytes src/djikstra_serial.c | 13 ++++++----- 5 files changed, 40 insertions(+), 28 deletions(-) create mode 100644 output/serial_3000.txt diff --git a/output/serial_3000.txt b/output/serial_3000.txt new file mode 100644 index 0000000..dda418a --- /dev/null +++ b/output/serial_3000.txt @@ -0,0 +1,5 @@ +0 1751211162 1280279855 572586368 +1751211162 0 470931307 1425861770 +1280279855 470931307 0 1283376996 +572586368 1425861770 1283376996 0 + diff --git a/src/djikstra_paralel b/src/djikstra_paralel index 43e73dbf217db82995522d5e69bc3a361c091e6e..ae2e98c4ff16369bb55f1ba3b0d569e1e81c4d8a 100755 GIT binary patch delta 2884 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 delta 3077 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 diff --git a/src/djikstra_paralel.c b/src/djikstra_paralel.c index ff51b43..625f623 100644 --- a/src/djikstra_paralel.c +++ b/src/djikstra_paralel.c @@ -41,16 +41,16 @@ void generateRandomArray(unsigned long long **b, int node){ void printMatrix(unsigned long long **arr, int V){ FILE *fp; if(V == 100){ - fp = fopen("output/paralel_100.txt", "w+"); + fp = fopen("../output/paralel_100.txt", "w+"); } else if(V == 500){ - fp = fopen("output/paralel_500.txt", "w+"); + fp = fopen("../output/paralel_500.txt", "w+"); } else if(V == 1000){ - fp = fopen("output/paralel_1000.txt", "w+"); + fp = fopen("../output/paralel_1000.txt", "w+"); } else { - fp = fopen("output/paralel_3000.txt", "w+"); + fp = fopen("../output/paralel_3000.txt", "w+"); } for(int i = 0; i < V; i++){ @@ -172,12 +172,15 @@ int main(int argc, char** argv) { for(int j=0;j<num_of_node;j++){ listResultArray[j]=(unsigned long long*)malloc((num_of_node*process_per_host+1)*sizeof(unsigned long long)); } + + // double dijkstra_time = 0.0; + // double start_time = 0.0; + #pragma omp parallel num_threads(num_of_processors) { int world_rank = omp_get_thread_num(); - printf("%d starting\n",world_rank); - // double dijkstra_time = 0.0; + // printf("%d starting\n",world_rank); if(world_rank == 0){ // printf("world_rank = 0\n"); @@ -185,8 +188,6 @@ int main(int argc, char** argv) { } #pragma omp barrier - - // dijkstra_time -= MPI_Wtime(); // DIJKSTRA // printf("Process %d array : \n", world_rank); @@ -197,7 +198,11 @@ int main(int argc, char** argv) { tempArray = (unsigned long long *)malloc(num_of_node*sizeof(unsigned long long)); - // #pragma omp barrier + #pragma omp barrier + if(world_rank == 0){ + // start_time = omp_get_wtime(); + } + int count = 0; for (int source=process_per_host*world_rank ; source < (process_per_host*world_rank + process_per_host) ; source++){ // printf("\nprocess, rank %d %d\n", process_per_host, world_rank); @@ -213,7 +218,7 @@ int main(int argc, char** argv) { #pragma omp barrier #pragma omp critical { - printf("%d critical\n",world_rank); + // printf("%d critical\n",world_rank); for(int i=0;i<process_per_host * num_of_node + 1;i++){ // recv_data[world_rank*(1+process_per_host*num_of_node) +i] = resultArray[i]; recv_data[world_rank*(1+process_per_host*num_of_node) +i] = listResultArray[world_rank][i]; @@ -228,13 +233,13 @@ int main(int argc, char** argv) { free(tempArray); if(world_rank == 0){ - printf("\n"); - for(int i=0;i<(num_of_node*process_per_host*num_of_processors)+num_of_processors;i++){ - printf("%lld ",recv_data[i]); - if((i+1) % (num_of_node+1) == 0 && (i>0) ){ - printf("\n"); - } - } + // printf("\n"); + // for(int i=0;i<(num_of_node*process_per_host*num_of_processors)+num_of_processors;i++){ + // printf("%lld ",recv_data[i]); + // if((i+1) % (num_of_node+1) == 0 && (i>0) ){ + // printf("\n"); + // } + // } } // MPI_Gather(resultArray, process_per_host*num_of_node+1, MPI_UNSIGNED_LONG_LONG, recv_data, process_per_host*num_of_node+1, MPI_UNSIGNED_LONG_LONG, 0, MPI_COMM_WORLD); @@ -260,10 +265,10 @@ int main(int argc, char** argv) { count2++; } } - + printf("SISA\n"); int sisa_source; sisa_source = num_of_node % (process_per_host * num_of_processors); - printf("\nsisa : %d\n",sisa_source); + // printf("\nsisa : %d\n",sisa_source); if(num_of_node % num_of_processors != 0){ unsigned long long* tempArray; tempArray = (unsigned long long *)malloc((num_of_node)*sizeof(unsigned long long)); @@ -292,12 +297,13 @@ int main(int argc, char** argv) { // } // } - // MPI_Barrier(MPI_COMM_WORLD); - // dijkstra_time += MPI_Wtime(); + #pragma omp barrier + // dijkstra_time = omp_get_wtime() - start_time; // if(world_rank == 0){ // printf("Time taken %f microsecond\n", dijkstra_time) * 1000000; - printArrayTerminal(hasilAkhir, num_of_node); + // printf("Time taken %f microsecond\n", dijkstra_time * 1000000); + // printArrayTerminal(hasilAkhir, num_of_node); // } // FREE diff --git a/src/djikstra_serial b/src/djikstra_serial index 2a1527e070cbda48d5eba4532945226a9e2b6009..4498573c3e97549b390496f2491c23bdab16b7eb 100755 GIT binary patch literal 17688 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 Vl2(a~MTE09E;l6ZvM5+k_TPPVvfKaw delta 3263 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 OS*@V2Me)*V(*6T+99N+L diff --git a/src/djikstra_serial.c b/src/djikstra_serial.c index 0e4bec4..9ffab97 100644 --- a/src/djikstra_serial.c +++ b/src/djikstra_serial.c @@ -3,6 +3,7 @@ #include <stdio.h> #include <stdbool.h> #include <time.h> +#include <omp.h> int minDistance(unsigned long long dist[], bool sptSet[], int V) { @@ -92,8 +93,8 @@ int main(int argc, char** argv) int num_of_node = atoi(argv[1]); unsigned long long **arr; - unsigned long long *matrixToArrayResult; - matrixToArrayResult = (unsigned long long*) malloc ((num_of_node * num_of_node) * sizeof(unsigned long long)); + // unsigned long long *matrixToArrayResult; + // matrixToArrayResult = (unsigned long long*) malloc ((num_of_node * num_of_node) * sizeof(unsigned long long)); arr = (unsigned long long **)malloc(num_of_node*sizeof(unsigned long long*)); for(int j=0;j<num_of_node;j++){ arr[j]=(unsigned long long*)malloc(num_of_node*sizeof(unsigned long long)); @@ -109,16 +110,16 @@ int main(int argc, char** argv) resultArray[j]=(unsigned long long*)malloc(num_of_node*sizeof(unsigned long long)); } - clock_t start = clock(), diff; + double start = omp_get_wtime(); for(int i=0;i<num_of_node;i++){ dijkstra(arr, i,num_of_node,tempArray); for(int j=0;j<num_of_node;j++){ resultArray[i][j] = tempArray[j]; } } - diff = clock() - start; - int msec = diff * 1000000 / CLOCKS_PER_SEC; - printf("Time taken %d microsecond\n", msec); + double diff = omp_get_wtime() - start; + double msec = diff * 1000000; + printf("Time taken %f microsecond\n", msec); printMatrix(resultArray,num_of_node); -- GitLab