Coder Social home page Coder Social logo

light-dist-gnn's Introduction

A lightweight distributed GNN library for full batch node property prediction.

Features/Changelog

  • Complete refactoring of CAGNET.
  • Distributed utilities such as log, timer, etc.
  • Node feature cached training.
  • Partitioned graph cache on disk.
  • More datasets. Most large graphs from pyg, dgl, ogb supported.
  • Training depends on pytorch only.
  • Distributed GAT training.
  • Latest pytorch version supported.
  • CSR graph supported.
  • Half precision training supported.

Getting started

  1. Setup a clean environment.
conda create --name gnn
conda activate gnn
  1. Install pytorch (needed for training) and other libraries (needed for downloading datasets).
// Cuda 10:
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch-lts
conda install -c dglteam dgl-cuda10.2
conda install pyg -c pyg -c conda-forge
pip install ogb
// Cuda 11:
conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch-lts -c nvidia
conda install -c dglteam dgl-cuda11.1
conda install pyg -c pyg -c conda-forge
pip install ogb
  1. Compile and install spmm. (Optional. CUDA dev environment needed.)
cd spmm_cpp
python setup.py install
  1. Prepare datasets (edit the code according to your needs).
//This may take a while.
python prepare_data.py
  1. Train.
python main.py

Experiments for Sancus: Staleness-Aware Communication-Avoiding Full-Graph Decentralized Training in Large-Scale Graph Neural Networks

  1. Check the steps in Getting started .
  2. Check dataset, epoch, and num of GPUs in main.py.
  3. Check model settings in dist_train.py
  4. Check cache methods in models.
  5. Run and see the result.

Contact

Contact [email protected] for any problems.

light-dist-gnn's People

Contributors

chenzhao avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.