Skip to content
/ minigun Public

Light-weight GPU kernel interface for graph operations

License

Notifications You must be signed in to change notification settings

dglai/minigun

Repository files navigation

MiniGun: Light-weight GPU kernel interface for graph operations

The project is heavily influenced by the Gunrock project. The goal is to define a general kernel library that can cover a wide range of graph operations used in DGL.

Current roadmap:

  • Port basic advance operator (all edge policy).
  • Port advance operator with dynamic frontiers.
  • Port more advance kernel policies
    • TWC
    • Inbound edge partition
    • outbound edge partition
  • CPU implementation for advance
  • Integration with DGL
  • Filter

Build

Require CUDA.

mkdir build
cmake ..
make -j4

Play

See codes in samples. Currently, there are four:

  • spmv
  • spmm
  • masked_mm
  • edge_softmax

You could run sample by (in the build folder):

./samples/spmv/spmv

Disclaimer: Minigun project is not related to the "mini-gunrock" project.

About

Light-weight GPU kernel interface for graph operations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published