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
Require CUDA.
mkdir build
cmake ..
make -j4
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.