Project Contacts: Gurbinder Gill (gill@cs.utexas.edu)
Project Description:
GPUs have become popular platform for improving the performance of graph
analytical systems. CUDA is the popular language for developing applications
for GPUs. However, this language is restricted to NVIDIA GPUs. Recently, a new
language called SYCL [1] has been introduced that supports different kinds of
GPUs as well as other accelerators.
There are many graph analytics systems [2, 3] for GPUs that are implemented
using CUDA. In this project, you will implement two graph analytical
applications using SYCL for a single GPU: breadth first search (bfs) and
pagerank (pr). You can look at existing C++ and CUDA implementations for these
applications in the Galois repository [4]. The goal should be to match the
performance of these CUDA applications on NVIDIA GPUs.
Hardware:
Suggested timeline:
Papers:
[1] https://www.khronos.org/sycl/
[2] Sreepathi Pai, Keshav Pingali: A compiler for throughput optimization of graph algorithms on GPUs. OOPSLA 2016: 1-19
[3] Roshan Dathathri, Gurbinder Gill, Loc Hoang, Hoang-Vu Dang, Alex Brooks, Nikoli Dryden, Marc Snir, Keshav Pingali, Gluon: a communication-optimizing substrate for distributed heterogeneous graph analytics. PLDI 2018: 752-768
[4] https://github.com/IntelligentSoftwareSystems/Galois