From ea7cf6ca9de755a6278bec69f99b6b1aae05241e Mon Sep 17 00:00:00 2001
From: 13513062 <13513062@hpc.if.itb.ac.id>
Date: Fri, 19 Feb 2016 11:34:37 +0700
Subject: [PATCH] Progress sampai jam 11.33. Masih error

---
 bucketsort   | Bin 0 -> 17275 bytes
 bucketsort.c | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++
 omp_trap     | Bin 0 -> 16195 bytes
 3 files changed, 127 insertions(+)
 create mode 100755 bucketsort
 create mode 100644 bucketsort.c
 create mode 100755 omp_trap

diff --git a/bucketsort b/bucketsort
new file mode 100755
index 0000000000000000000000000000000000000000..30c779d81839b6096c28280ea3e417c2bfde64cc
GIT binary patch
literal 17275
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

literal 0
HcmV?d00001

diff --git a/bucketsort.c b/bucketsort.c
new file mode 100644
index 0000000..1c403fa
--- /dev/null
+++ b/bucketsort.c
@@ -0,0 +1,127 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <omp.h>
+#include <assert.h>
+#include <time.h>
+
+float *create_rand_nums(int num_elements) { 
+  float *rand_nums = (float *)malloc(sizeof(float) * num_elements); 
+  assert(rand_nums != NULL); 
+  int i; 
+  for (i = 0; i < num_elements; i++) { 
+    rand_nums[i] = (rand() / (float)RAND_MAX);
+  } 
+  return rand_nums; 
+} 
+
+float * Sort(float * unsorted) {
+  int c, d;
+  int size = unsorted[0];
+  float t;
+
+  for (c=1;c<size; c++)  {
+    d = c;
+
+    while (d > 1 && unsorted[d] < unsorted[d-1]) {
+      t = unsorted[d];
+      unsorted[d] = unsorted[d-1];
+      unsorted[d-1] = t;
+      
+      d--;
+    }
+  }
+
+  return unsorted;
+}
+
+float * * Scatter (float * input, int size) {
+    int * min_limit =  (int *)malloc(sizeof(int) * 5);
+    int * max_limit = (int *)malloc(sizeof(int) * 5);
+    float * * output = (float **)malloc(sizeof(float*) * 400000);
+    
+    //define the border limit 
+    int i;
+    for (i = 0 ;i < 5; i++) {
+        min_limit[i] = 10 * i + 0 ;
+        max_limit[i] = 10 * i + 9 ;
+    }
+
+    //define the size of every bucket, the first index of the array is the size
+    for (i = 0; i < 5; i++){
+        output[i][0] = 0;
+    }
+    
+    //scatter the input into 5 bucket
+    int index =0;
+    for ( i = 0; i < size ; i++) {
+       if (input[i] < max_limit[0]) { 
+           output[0][0]++;
+           index = output[0][0];
+           output[0][index] = input[i]; 
+       } else if ((input[i] < max_limit[1]) && (input[i] > min_limit[1])) {
+           output[1][0]++;
+           index = output[1][0];
+           output[1][index] = input[i];
+       } else if ((input[i] < max_limit[2]) && (input[i] > min_limit[2])) {
+           output[2][0]++;
+           index = output[2][0];
+           output[2][index] = input[i];
+       } else if ((input[i] < max_limit[3]) && (input[i] > min_limit[3])) {
+           output[3][0]++;
+           index = output[3][0];
+           output[3][index] = input[i];
+       } else if (input[i] > min_limit[41]) {
+           output[4][0]++;
+           index = output[4][0];
+           output[4][index] = input[i];
+       }
+    }
+
+    return output;
+}
+
+float** SortAllBucket(float* *arrayfloat, int M) {
+  float* *sortedarray;
+  int i=0;
+  
+  #pragma omp parallel for shared(sortedarray, arrayfloat) private (i) num_threads(M)
+  for (i=0;i<5;i++) { //Bucketnya ada 5
+    sortedarray[i] = Sort(arrayfloat[i]);
+  }
+}
+
+float BucketSort(float* arrayfloat, int N, int M) {
+  struct timeval start,end;
+
+  gettimeofday(&start, NULL);  
+  
+  float** array1 = Scatter(arrayfloat,N);
+
+  /*float** sortedarray = SortAllBucket(array1, M);*/
+
+  gettimeofday(&end, NULL);
+  float delta = ((end.tv_sec - start.tv_sec)*1000000u + end.tv_usec - start.tv_usec) / 1.e6;
+  return delta;
+}
+
+int main (int argc, char* argv[]) {
+  int N; //jumlah elemen array
+  int M; //jumlah thread
+  float time;
+  float * arrayfloat;
+
+  if (argc != 3) {
+    fprintf(stderr, "Usage: %s <jumlah elemen array> <jumlah thread>", argv[0]);
+    exit(0);
+  }
+  N = atoi(argv[1]);
+  M = strtol(argv[2], NULL, 10);
+
+  arrayfloat = create_rand_nums(N);
+
+  time = BucketSort(arrayfloat,N,M);
+
+  printf("Waktu yang dibutuhkan : %lf\n", time);
+
+  return 0;
+}
diff --git a/omp_trap b/omp_trap
new file mode 100755
index 0000000000000000000000000000000000000000..6dd9157fc98d0e2800bebc67c612c7cd6f75be1a
GIT binary patch
literal 16195
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
A$p8QV

literal 0
HcmV?d00001

-- 
GitLab