Project contacts: Loc Hoang (l_hoang@utexas.edu)
Roshan Dathathri (roshan@cs.utexas.edu)
Project description: 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. There are many graph analytics systems [1, 2] for GPUs that are
implemented using CUDA. Graph neural networks [3] are an emerging research
area in which graph analytics are combined with deep neural networks for the
tasks such as vertex classification and link prediction. Many systems exist for
both CPUs and GPUs [4, 5, 6] that implement graph convolutional networks (GCN)
[7], a type of GNN. However, it is not clear if their performance can be
further improved. In this project, you will implement GCN using CUDA for a
single GPU. You can implement using the data structures in the Galois library
[8]. The goal should be to beat the performance of existing implementations.
Hardware:
Project deliverables and deadlines:
Papers:
[1] Sreepathi Pai, Keshav Pingali: A compiler for throughput optimization of graph algorithms on GPUs. OOPSLA 2016: 1-19
[2] Gluon: a communication-optimizing substrate for distributed heterogeneous graph analytics, PLDI’18, https://dl.acm.org/citation.cfm?id=3192404
[3] M. Gori, G. Monfardini, F. Scarselli. A new model for learning in graph
domains. IEEE Conference on Neural Networks 2005.
[4] M. Wang et al. Deep Graph Library: Towards Efficient and Scalable Deep
Learning on Graphs. ICLR 2019 Workshop.
[5] Z. Jia, S. Lin, M. Gao, M. Zaharia, Alex Aiken. Improving the Accuracy,
Scalability, and Performance of Graph Neural Networks with Roc. MLSys 2020.
[6] Pytorch Geometric. https://pytorch-geometric.readthedocs.io/en/latest/
[7] T. Kipf, M. Welling. Semi-Supervised Classification with Graph
Convolutional Networks. ICLR 2017.
[8] Galois Library. https://github.com/IntelligentSoftwareSystems/Galois