Graph Computing and Analytics

Graph computing is the execution of computations defined by graphs. Examples include automata, neural networks, cryptographic circuits, boolean circuits, etc. Graph analytics is the study of graphs to discover properties of networks expressed as graphs. In absolute terms, both graph computing and graph analytics are quite slow on general-purpose processors such as GPUs. We are investigating a common hardware/software co-design framework to speed both these up!

Most of our current focus of the joint collaboration is on graph-defined computations. At Rochester, we also continue to investigate high performance graph algorithms.

Team

  1. Hongyuan Liu (William and Mary)
  2. Adwait Jog (William and Mary)
  3. Ruohuang Zheng
  4. Sreepathi Pai

Alumni

  1. Hunter Johnston (F2017, S2018), Compiling Graph Computations

Artifacts

  1. GPU NFA (Artifact from the ASPLOS paper)

Publications

  1. Hongyuan Liu, Sreepathi Pai, and Adwait Jog, Why GPUs are Slow at Executing NFAs and How to Make them Faster, ASPLOS 2020, Lausanne, Switzerland

  2. Hongyuan Liu, Mohamed Ibrahim, Onur Kayiran, Sreepathi Pai, Adwait Jog, Architectural Support for Efficient Large-Scale Automata Processing, MICRO 2018, Fukuoka, Japan, Oct 2018 [Lightning Talk Video]