Parallel graph algorithms for GPU

Paralelní grafové algoritmy pro GPU

Reviewers

Editors

Other contributors

Journal Title

Journal ISSN

Volume Title

Publisher

České vysoké učení technické v Praze
Czech Technical University in Prague

Date of defense

Research Projects

Organizational Units

Journal Issue

Abstract

Tato bakalářská práce je zaměřená na několik běžných grafových problémů a na jejich řešení s pomocí paralelních grafových algoritmů. Jedná se o problémy nalezení maximální nezávislé množiny, minimální kostry grafu, souvislých a silně souvislých komponent. Tato práce poskytuje teoretický kontext potřebný pro popsání zmíněných problémů a navrhuje jejich řešení za pomoci běžných sekvenčních algoritmů. Hlavní snaha práce však směřuje k algoritmům paralelním a jejich implementaci využívající CUDA, C++ a knihovnu TNL. Tyto implementace jsou schopny běhu jak na GPU paralelně, tak na CPU sekvenčně (či paralelně s pomocí OpenMP). Práce obsahuje detailní popis těchto algoritmů a jejich implementace. Také informuje o procesu testování správné funkčnosti, měření výkonu na různých zařízeních (GPU, CPU) a uprávách vedoucích k lepšímu výkonu. Výstupem práce jsou plně funkční a otestované implementace pro 3 ze 4 problémů. Pro problém minimální kostry grafu je výstup rozpracovaná částečně fungující implementace.

This bachelor thesis targets several common graph problems and their solutions using parallel graph algorithms. These are the problems of finding the maximal independent set, minimal spanning tree, connected and strongly connected components. This paper provides the theoretical context needed to describe the aforementioned problems and proposes their solutions using common sequential algorithms. However, the main effort of the thesis is directed towards parallel algorithms and their implementation using CUDA, C++, and the TNL library. These implementations are capable of running both on the GPU in parallel and on the CPU sequentially (or in parallel using OpenMP). This thesis contains a detailed description of these algorithms and their respective implementations. It also reports on the process of correctness testing, performance measurements on different devices (GPU, CPU), and further improving performance. The output of this work is fully functional and tested implementations for 3 of the 4 problems. For the minimal spanning tree problem, a semi-functional work-in-progress implementation is offered.

Description

Citation

Underlying research data set URL

Rights/License

A university thesis is a work protected by the Copyright Act of the Czech Republic. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one`s own expense. The use of thesis should be in compliance with the Copyright Act.

Vysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem v platném znění.

Endorsement

Review

Supplemented By

Referenced By