GitLab now enforces expiry dates on tokens that originally had no set expiration date. Those tokens were given an expiration date of one year later. Please review your personal access tokens, project access tokens, and group access tokens to ensure you are aware of upcoming expirations. Administrators of GitLab can find more information on how to identify and mitigate interruption in our documentation.
## Deskripsi solusi paralel. Berikan ilustrasi jika perlu.
Algoritma radix sort terdiri dari beberapa tahap:
1. Penentuan nilai maksimum array untuk menentukan jumlah digit yang akan diiterasi
2. Sorting perdigit yang menggunakan bucket array
3. Mengembalikan hasil akhir sorting ke array asal
Pada solusi menggunakan fungsi hitung digit untuk menghitung jumlah digit yang sama pada bucket. Penggunaan thread untuk mempercepat proses penentuan jumlah digit tersebut.
## Analisis solusi yang anda berikan. Apakah mungkin terdapat solusi yang memberikan kinerja lebih baik?
Sangat mungkin pada solusi yang kami berikan penggunaan paralel hanya pada satu fungsi yaitu menghitung jumlah digit yang sama pada bucket. Bisa pula penerapan solusi diperluas pada saat pengisian bucket, pengembalian hasil akhir ke array asal, dan penghitungan nilai maksimum dari array.
## Jelaskan pemetaan thread ke komputasi, dan jumlah thread per block yang digunakan. Kenapa anda memilih angka tersebut?
Jumlah thread per block yang digunakan 8 buah, karena berdasarkan hasil uji dari menggunakan 2,4,8, dan 16 eksekusi tercepat ketika menggunakan thread sebanyak 8.
Jumlah thread per block yang digunakan 8 buah, karena berdasarkan hasil uji pada 5000 test case menggunakan 2,4,8, dan 16 eksekusi tercepat ketika menggunakan thread sebanyak 8.
## Pengukuran kinerja untuk tiap kasus uji (jumlah N pada array) dibandingkan dengan radix sort serial.
| Test(N) | Serial | Paralel | Thread |
...
...
@@ -31,3 +39,4 @@ Jumlah thread per block yang digunakan 8 buah, karena berdasarkan hasil uji dari
| 400000 |3060391 | 76448107 | 1 |
## Analisis perbandingan kinerja serial dan paralel. Analisis yang diharapkan adalah analisis yang minimal dapat menjelaskan setiap hasil pengukuran kinerja sebelumnya.
Pada perbandingan kinerja serial dan paralel ditemukan bahwa hasil serial jauh lebih cepat dibandingkan paralel. Kami tidak tau secara pasti apa penyebabnya. Pada penerapan jumlah thread seharusnya seluruhnya menggunakan 8 thread namun didapati ketika untuk test case semakin besar jumlah thread maksimum yang dapat digunakan semakin kecil. Sehingga semua test memiliki jumlah thread eksekusi yang berbeda-beda.