We're thrilled to announce the release of DGL 2.0.0, a major milestone in our mission to empower developers with cutting-edge tools for Graph Neural Networks (GNNs). 🎉🎉🎉
New Package: dgl.graphbolt
In this release, we introduce a brand new package: dgl.graphbolt, which is a revolutionary data loading framework that supercharges your GNN training/inference by streamlining the data pipeline. Please refer to the documentation page for GraphBolt's overview and end2end notebooks. More end2end examples are available in github code base.
New Additions
- A hetero-relational GCN example (#6157)
- Add Node explanation for Heterogenous PGExplainer Impl. (#6050)
- Add peptides structural dataset in LRGB (#6337)
- Add peptides functional dataset in LRGB (#6363)
- Add VOCSuperpixels dataset in LRGB (#6389)
- Add compact operator (#6352)
- Add COCOsuperpixel dataset (#6407)
- Add a graphSAGE example (#6481)
- Add CIFAR10 MNIST dataset in benchmark-gnn (#6543)
- Add ogc method (#6437)
- Add a LADIES example (#6560)
- Adjusted homophily and label informativeness (#6516)
System/Examples/Documentation Enhancements
- Update README about DGL container access from NGC (#6133)
- Cpu docker tcmalloc (#5969)
- Use scipy's eigs instead of numpy in lap_pe (#5855)
- Add CMake changes from conda-forge build (#6189)
- Upgrade
googletest
to v1.14.0 (#6273) - Fix typo in link prediction with sampling example (#6268)
- Add sparse matrix slicing operator implementation (#6208)
- Use torchrun instead of torch.distributed.launch (#6304)
- Sparse sample implementation (#6303)
- Add relabel python API (#6323)
- Compact C++ API (#6334)
- Fix compile warning (#6342)
- Update Labor sampler docs, add NeurIPS acceptance (#6369)
- Update docstring of LRGB (#6430)
- Do not fuse neighbor sampler for 1 thread (#6421)
- Fix graph_transformer example (#6471)
- Adding
--num_workers
input parameter to the EEG_GCNN example. (#6467) - Update doc network_emb.py (#6559)
- Protect temporary changes from persisting if an error occurs during the yield block (#6506)
- Provide options for bidirectional edge (#6566)
- Improving the MLP example. (#6593)
- Improving the JKNET example. (#6596)
- Avoid calling
IsPinned
in the coo/csr constructor from every sampling process (#6568)
Bug Fixes
- Fix cusparseCreateCsr format for cuda12 (#6121)
- Fix a bug in standalone mode (#6179)
- Fix extrace_archive default parameter (#6333)
- Fix device check (#6409)
- Return batch related ids in g.idtype (#6578)
- Fix typo in ShaDowKHopSampler (#6587)
- Fix issue about integer overflow (#6586)
- Fix the lazy device copy issue of DGL node/edge features (#6564)
- Fix num_labels to num_classes in dataset files (#6666)
- Fix Graphormer as key in state_dict has changed (#6806)
- Fix distributed partition issue (#6847)
Note
Windows packages are not available and will be ready soon.
Acknowledgement
DGL 2.0.0 has been achieved through the dedicated efforts of the DGL team and the invaluable contributions of our external collaborators.
@9rum @AndreaPrati98 @BarclayII @HernandoR @OlegPlatonov @RamonZhou @Rhett-Ying @SinuoXu @Skeleton003 @TristonC @anko-intel @ayushnoori @caojy1998 @chang-l @czkkkkkk @daniil-sizov @drivanov @frozenbugs @hmacdope @isratnisa @jermainewang @keli-wen @mfbalin @ndbaker1 @paoxiaode @peizhou001 @rudongyu @songqing @willarliss @xiangyuzhi @yaox12 @yxy235 @zheng-da
Your collective efforts have been key to the success of this release. We deeply appreciate every contribution, large and small, as they collectively shape and improve DGL. Thank you all for your dedication and hard work!