From 983d5d9843a513d681d6bd3ecab8401662485955 Mon Sep 17 00:00:00 2001 From: Aliffiqri Agwar <13517107@std.stei.itb.ac.id> Date: Sun, 5 Apr 2020 22:54:33 +0700 Subject: [PATCH] Update README.md --- README.md | 60 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 50 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index c74eb60..abeef9f 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,50 @@ -# Announcement - -Beberapa file yang harus ada dalam repositori tersebut diantaranya: -* Direktori src yang berisi source code yang anda buat. -* File output yang berisi hasil uji dijkstra algorithm pada data uji. -* Makefile. Buatlah sehingga kompilasi program dapat dilakukan hanya dengan pemanggilan command ’make’ saja. -* File README.md yang berisi: - * Petunjuk penggunaan program. - * Pembagian tugas. Sampaikan dalam list pengerjaan untuk setiap mahasiswa. Sebagai contoh: XXXX mengerjakan fungsi YYYY, ZZZZ, dan YYZZ. - * Laporan pengerjaan, dengan struktur laporan sesuai dengan deskripsi pada bagian sebelumnya. +# Dijkstra terdistribusi menggunakan CUDA +## Penggunaan +Build program menggunakan +``` +make +``` + +Jalankan program serial menggunakan +``` +./dijkstra <node_count> +``` + +Jalankan program CUDA menggunakan +``` +./dijkstra_cuda <node_count> +``` + +## Hasil Pengujian + +### Deskripsi solusi paralel + +Solusi paralel kelompok kami adalah membagi loop pemrosesan dijkstra dalam thread yang berbeda. + +### Solusi dengan kinerja lebih baik + +Menurut kami solusi kinerja yang lebih baik selain optimisasi algoritma djikstra itu sendiri, menggunakan GPU yang lebih baik. + +### Jumlah thread yang digunakan + +Jumlah thread yang digunakan adalah 3072 thread yang dibagi dalam 12 block + +### Pengukuran kinerja + +| Jumlah node | Waktu Serial 1 (µs) | Waktu Serial 2 (µs) | Waktu Serial 3 (µs) | Waktu Paralel 1 (µs) | Waktu Paralel 2 (µs) | Waktu Paralel 3 (µs) | +|-------------|---------------------|---------------------|---------------------|----------------------|----------------------|----------------------| +| 100 | 18071.000000 | 23664.000000 | 24246.000000 | 7668.832031 | 7579.423828 | 7639.520020 | +| 500 | 1894296.000000 | 1616559.000000 | 1324373.000000 | 208502.687500 | 207860.640625 | 208132.359375 | +| 1000 | 10582377.000000 | 10656247.000000 | 10353700.000000 | 1104357.250000 | 1096770.750000 | 1105230.375000 | +| 3000 | 328055523.000000 | 323603710.000000 | 335832948.000000 | 10558591.000000 | 10555203.000000 | 10540892.000000 | + +### Analisis perbandingan kinerja +Dalam kinerja dijkstra, membaginya dalam beberapa thread lebih baik daripada single thread. Dalam single thread, pengerjaan loop akan sangat lama apalagi dengan banyak node. +CUDA yang dapat meng-handle banyak thread dapat mengurangi waktu kerja. + +## Pembagian tugas + +| NIM | Nama | Tugas | +|----------|---------------------|-----------------------------------------------| +| 13517107 | Aliffiqri Agwar | Program djikstra serial serta utilitas common | +| 13517119 | Stefanus Ardi Mulia | Program dijkstra CUDA | \ No newline at end of file -- GitLab