IMPLEMENTATION OF PARALLEL LOUVAIN ALGORITHM USING MULTI-GPU
The Louvain algorithm is a method to detect communities present in a graph. Among parallel implementations of the algorithm, GPU implementations show a significant increase in performance but are still bound by the throughput and memory limit of one GPU. Along with the increase in the size of gra...
Saved in:
Main Author: | |
---|---|
Format: | Final Project |
Language: | Indonesia |
Online Access: | https://digilib.itb.ac.id/gdl/view/65816 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Institut Teknologi Bandung |
Language: | Indonesia |
id |
id-itb.:65816 |
---|---|
spelling |
id-itb.:658162022-06-25T03:32:02ZIMPLEMENTATION OF PARALLEL LOUVAIN ALGORITHM USING MULTI-GPU Bezalel Iman Gustaman, Steve Indonesia Final Project Louvain, graph, multi-GPU, NVIDIA CUDA, NCCL INSTITUT TEKNOLOGI BANDUNG https://digilib.itb.ac.id/gdl/view/65816 The Louvain algorithm is a method to detect communities present in a graph. Among parallel implementations of the algorithm, GPU implementations show a significant increase in performance but are still bound by the throughput and memory limit of one GPU. Along with the increase in the size of graphs present in the real world, a method is needed to process the Louvain algorithm for larger graphs without decreasing the performance. This can be achieved by utilizing multiGPU. This final project aims to implement the parallel Louvain algorithm in a multi-GPU environment. The multi-GPU implementation is adapted from a single-GPU implementation from previous research by Naim in 2017. In the multi-GPU implementation designed, each GPU is responsible to process one partition of the input graph. There are also data synchronizations among the partitions using inter-GPU communications. This implementation utilizes NVIDIA CUDA for GPU programming and NCCL library for inter-GPU communication APIs. Compared with the single-GPU implementation, the multi-GPU implementation designed needs additional memory. The percentage of additional overhead memory needed is lower in graphs with a higher edge-to-node ratio. Other than that, with the usage of 8 GPUs, the multi-GPU algorithm designed gives off up to 1.2x speedup in processing graphs with low-degree largest-degree-node, and up to 3.4x speedup in processing graphs with varying node degrees and a high-degree largestdegree-node. text |
institution |
Institut Teknologi Bandung |
building |
Institut Teknologi Bandung Library |
continent |
Asia |
country |
Indonesia Indonesia |
content_provider |
Institut Teknologi Bandung |
collection |
Digital ITB |
language |
Indonesia |
description |
The Louvain algorithm is a method to detect communities present in a graph.
Among parallel implementations of the algorithm, GPU implementations show a
significant increase in performance but are still bound by the throughput and
memory limit of one GPU. Along with the increase in the size of graphs present in
the real world, a method is needed to process the Louvain algorithm for larger
graphs without decreasing the performance. This can be achieved by utilizing multiGPU. This final project aims to implement the parallel Louvain algorithm in a
multi-GPU environment.
The multi-GPU implementation is adapted from a single-GPU implementation from
previous research by Naim in 2017. In the multi-GPU implementation designed,
each GPU is responsible to process one partition of the input graph. There are also
data synchronizations among the partitions using inter-GPU communications. This
implementation utilizes NVIDIA CUDA for GPU programming and NCCL library
for inter-GPU communication APIs.
Compared with the single-GPU implementation, the multi-GPU implementation
designed needs additional memory. The percentage of additional overhead memory
needed is lower in graphs with a higher edge-to-node ratio. Other than that, with
the usage of 8 GPUs, the multi-GPU algorithm designed gives off up to 1.2x
speedup in processing graphs with low-degree largest-degree-node, and up to 3.4x
speedup in processing graphs with varying node degrees and a high-degree largestdegree-node. |
format |
Final Project |
author |
Bezalel Iman Gustaman, Steve |
spellingShingle |
Bezalel Iman Gustaman, Steve IMPLEMENTATION OF PARALLEL LOUVAIN ALGORITHM USING MULTI-GPU |
author_facet |
Bezalel Iman Gustaman, Steve |
author_sort |
Bezalel Iman Gustaman, Steve |
title |
IMPLEMENTATION OF PARALLEL LOUVAIN ALGORITHM USING MULTI-GPU |
title_short |
IMPLEMENTATION OF PARALLEL LOUVAIN ALGORITHM USING MULTI-GPU |
title_full |
IMPLEMENTATION OF PARALLEL LOUVAIN ALGORITHM USING MULTI-GPU |
title_fullStr |
IMPLEMENTATION OF PARALLEL LOUVAIN ALGORITHM USING MULTI-GPU |
title_full_unstemmed |
IMPLEMENTATION OF PARALLEL LOUVAIN ALGORITHM USING MULTI-GPU |
title_sort |
implementation of parallel louvain algorithm using multi-gpu |
url |
https://digilib.itb.ac.id/gdl/view/65816 |
_version_ |
1822004970346512384 |