digilib@itb.ac.id +62 812 2508 8800

Algoritma Louvain adalah algoritma yang digunakan untuk pendeteksian komunitas pada graf. Implementasi algoritma Louvain paralel pada GPU memberikan peningkatan kinerja yang baik namun dibatasi oleh memori dan throughput dari satu GPU. Seiring dengan perkembangan ukuran graf yang ada pada dunia nyata, dibutuhkan metode untuk melakukan pemrosesan algoritma Louvain untuk graf yang besar dengan kinerja yang baik, ini dapat dicapai dengan memanfaatkan multi-GPU. Tugas akhir ini bertujuan untuk melakukan implementasi algoritma Louvain paralel pada lingkungan multi-GPU. Implementasi multi-GPU dilakukan dengan cara melakukan adaptasi dari algoritma single-GPU dari penelitian Naim, 2017. Pada implementasi multi-GPU yang dirancang, masing-masing GPU yang digunakan bertanggung jawab untuk pemrosesan satu partisi dari graf utuh, kemudian terdapat sinkronisasi data antar partisi dengan cara komunikasi antar GPU. Implementasi ini memanfaatkan NVIDIA CUDA untuk pemrograman GPU dan pustaka NCCL untuk komunikasi antar GPU. Dibandingkan implementasi single-GPU, implementasi multi-GPU yang dirancang membutuhkan tambahan memori dalam pemrosesannya. Persentase overhead memori ini semakin kecil untuk graf dengan rasio jumlah sisi banding jumlah simpul yang besar. Selain itu, dengan penggunaan 8 GPU, algoritma multi-GPU yang dirancang memberikan speedup sampai 1.2x untuk graf dengan derajat terbesar yang rendah, dan speedup sampai 3.4x untuk graf dengan derajat terbesar yang tinggi dengan derajat simpul-simpul yang bervariasi.