This is a minor release with the following updates.
Test AArch64 Build
A 0.8.2 test build for AArch64 is available in
pip install dgl -f https://data.dgl.ai/wheels-test/repo.html # or dgl-cuXX for CUDA
New Modules
- Graph Isomorphism Network with Edge Features (#3934)
dgl.transforms.FeatMask
for randomly dropping out dimensions of all node/edge features (#3968, @RecLusIve-F)dgl.transforms.RowFeatNormalizer
for normalization of all node/edge features (#3968, @RecLusIve-F)- Label propagation module (#4017)
- Directional graph network layer (#4017)
- Datasets for developing GNN explainability approaches (#3982)
dgl.transforms.SIGNDiffusion
for augmenting input node features (#3982)
Quality-of-life Updates
- Allow
HeteroLinear
with/without bias (#3970, @ksadowski13) - Allow selection of “socket” for RPC backend in distributed training (#3951)
- Enable specification of maximum number of trials for socket backend in DistDGL (#3977)
- Added floating-point conversion functions to
dgl.transforms.functional
(#3890, @ndickson-nvidia) - Improve the warning message when Tensoradapter is not found (#4055)
- Add sanity check for
in_edges
/out_edges
on empty graphs (#4050)
System Optimization
- Improved graph batching on GPU for Graph DataLoaders (#3895, @ayasar70)
- CPU DataLoader affinitization (#3723 @daniil-sizov)
- Memory consumption optimization on index shuffling in dataloader (#3980)
- Remove unnecessary induced vertices in edge subgraph (#3978, @yaox12)
- Change the
curandState
and launch dimension of GPU neighbor sampling kernel (#3990, @paoxiaode)
Bug fixes
- Fix multi-GPU edge classification crashing with pure-GPU sampling (#3946)
- Fixed race conditions in distributed SparseAdam and SparseAdagrad (#3971, @ndickson-nvidia)
- Fix launch parameters index select kernel in sparse pull for multi-GPU sparse embedding (#3524, @nv-dlasalle)
- Fix import error when tensorflow backend is specified (#4015)
- Fix DistDGL crashing when sampling on bipartite graphs (#4014)
- Prevent users from attempting to pin PyTorch non-contiguous tensors or views only encompassing part of tensor (#3992, @nv-dlasalle)
- Fix Cython CAPI holding GIL causes deadlock when Python callback is asynchronous (#4036)
- Misc unit test, example, doc fixes etc. (#3947, #3941, #3928, #3944, #3505, #3953, #3983, #3996, #4009, #4010, #4016, #4022, #4023, #4027, #4030, #4034, #4038, #4053, #4058, #4060 @Kh4L, @daniil-sizov, @HenryChang213, @sharique1006, @msharmavikram, @initzhang, @yinpeiqi, @chang-l, @nv-dlasalle, @Sanzo00, @Eurus-Holmes, @xiaopqr, @decoherencer)