question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[Roadmap] DGL General Roadmap

See original GitHub issue

To the entire DGL community,

It has been more than two years (actually 33 months) since I clicked the Make It Public button of the repo, at which time I was not expecting more than a small codebase for playing with some fancy new models called Graph Neural Networks. Throughout the years, it is amazing to see the project growing with the area of Graph Deep Learning (which accidentally shares the same set of first letters with DGL), extending its scope from single machine to distributed training, becoming backbones of other packages and foundations of exciting new researches. But what makes me more honored is the wonderful community and contributors. It is your advises, questions, feedback, issue reports and PRs that make this project thrived. As we are heading to the third year anniversary, it is time for us to think about the next stage for DGL that is the first stable release. Of course, there are still a tons of work to be done before that happens so we would like to share the plan with everyone so you guys can chime in your thoughts.

[03/16/22] Updated the list according to the new v0.8 release.

Documentation

DGL v1.0 will provide a full-fledged set of documentation including tutorials, user guide, API reference for users from beginner level to expert. The major focus will be a set of HeteroGNN tutorials for beginners and advanced documentation for in-depth DGL developers.

  • [Tutorial] Creating a heterogeneous graph dataset from CSV
  • [Tutorial] Heterograph node classification
  • [Tutorial] Heterograph link prediction
  • [Tutorial] Heterogeneous graph node/link prediction with sampling
  • [Tutorial] Writing a heterograph NN module
  • [Tutorial] Distributed link prediction @ruisizhang123 #3993
  • [Tutorial] Inductive Learning with DGL
  • Developer guide
  • General advices of using edge features
  • [User guide] Implement custom graph sampler
  • Clean up the “Paper Study with DGL” tutorials. Update the out-dated contents.
  • [Blog] Feature attribution with Captum
  • [Blog] Spatial-temporal GNN models (e.g., for traffic network)
  • [Blog] GNN models on Discrete-time Dynamic Graphs / Continuous-time Dynamic Graphs. @otaviocx
  • #4367

GNN models, modules, samplers and others

See the separate roadmap #3849 .

Sampling infrastructure

Besides adding more sampling algorithms, we plan to improve the sampling pipeline in terms of both system efficiency and customizability.

  • [Neighbor sampling] Make MultiLayerNeighborSampler support non-uniform sampling
  • [Efficiency] NodeDataLoader/EdgeDataLoader/etc. interface change proposal to enable async CPU-GPU copy
  • [Efficiency] Support DGLGraph async transfer between CPU and GPU on specified stream with pinned memory
  • [Efficiency] Use unified buffer to accelerate feature fetching
  • Exclude edges in sample_neighbors (https://github.com/dmlc/dgl/pull/2971)
  • Finalize the interface of GraphStorage and FeatureStorage (#3600 ).
  • Integrate cuGraph sampling pipeline
  • Integrate multi-GPU sampling (#3021 )

Core infrastructure

  • Move half precision and mixed precision training out of experimental stage. Make it a default feature without the need to build from source.
  • Integrate the new CUDA gSpMM kernels.
  • Release dgl.sparse, a new backbone subpackage for sparse (adjacency) matrix and the related operators.
  • Add type annotations to all core APIs.
  • Use native PyTorch codepath for PyTorch backend (suggested by @yzh119):
    • Use PyTorch FFI system to register operators and custom data type (e.g., DGLGraph)
    • Write autograd in C++.

Distributed training infrastructure

  • Support distributed graph partitioning for link prediction (e.g., training on one set of edges but testing on others)
  • Change RPC backbone to use tensorpipe
  • Replace the low-level communication stack with torch.distributed.
  • Allow graph server to live after training processes finished. Allow new training process groups to connect to a running graph server.

Ecosystem

We want to see DGL being used by or using more and more amazing project in the ecosystem.

Compiler

See the separate roadmap #3850 .

DGL-Go

See the separate roadmap #3912 .

Issue Analytics

  • State:open
  • Created 2 years ago
  • Reactions:9
  • Comments:14 (8 by maintainers)

github_iconTop GitHub Comments

12reactions
yzh119commented, Sep 15, 2021

Some suggestions:

  1. Official support of half precision (user should find it in pip wheels, rather than compile the library by themselves).
  2. For PyTorch backends, we should have better compatibility. 3. rewrite autograd in C++. 4. make DGLGraph compatible with Torchscript. 5. integration with torchscript and JIT. 6. Use PyTorch’s ffi system.
  3. Source code side, we’d better add type hinting (add pypy checks if possible) so that user have better auto completion experience.
  4. Expose spspmm interface to user in the form of sparse matrices instead of graphs.
3reactions
ruisizhang123commented, Jan 14, 2022

Hi @jermainewang, thanks for the awesome roadmap. I’m currently working distributed graph training and I think I can help with the following features:

  • [Tutorial] Distributed link prediction
  • Fix distributed graph partitioning to train GNNs on large heterogeneous graphs.
  • Support multiple distributed graphs to training and validation in link prediction tasks.

Please let me know if I could help. 😃

Read more comments on GitHub >

github_iconTop Results From Across the Web

Developers - [Roadmap] DGL General Roadmap - - Bountysource
Coming soon: A brand new website interface for an even better experience!
Read more >
Sensors and Directed Energy - Missile Defense Agency
(DGL). With MDA Support, Achieved 100. kW – Class Performance in Oct. 2019 and transitioned to the. OUSD(R&E) Roadmap. Lockheed Martin –.
Read more >
GA4GH 2020-2021 Roadmap
GA4GH 2020-2021 Roadmap. The 2020-2021 Strategic Roadmap outlines strategies, standards, and policies for enabling genomic and related health data sharing.
Read more >
Geometric Deep Learning Library Comparison
... that we're comparing frameworks with a general-purpose programming language. ... DGL is the only one that has a clear roadmap that is...
Read more >
Introducing the ArangoDB-DGL Adapter
Introducing the ArangoDB-DGL Adapter. January 14, 202200GeneralTags: DGL Adaptor, Release · Twitter LinkedIn Reddit Hacker News.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found