v0.8.1
This is a minor release that includes the following model updates, optimizations, new features and bug fixes.
Model update
nn.GroupRevRes
from Training Graph Neural Networks with 1000 layers [#3842]transforms.LaplacianPositionalEncoding
from Graph Neural Networks with Learnable Structural and Positional Representations [#3869]transforms.RWPositionalEncoding
from Graph Neural Networks with Learnable Structural and Positional Representations [#3869]dataloading.SAINTSampler
from GraphSAINT [#3879]nn.EGNNConv
from E(n) Equivariant Graph Neural Networks [#3901]nn.PNAConv
from the baselines of E(n) Equivariant Graph Neural Networks [#3901]
Example update
- Position-aware GNN [#3823 @RecLusIve-F]
- EGES (Enhanced Graph Embedding with Side info) [#3756 @Wang-Yu-Qing]
Feature update (new functionalities, interface changes, etc.)
- Radius graph - construct a graph by connecting points within a given distance. [#3829 @ksadowski13]
- It uses
torch.cdist
so the space complexity is O(N^2).
- It uses
- Added a
get_attention
parameter inGlobalAttentionPooling
. [#3837 @decoherencer]
Quality of life update
- Example to train with multi-GPU with PyTorch Lightning. [#3863]
- Multi-GPU inference with UVA. [#3827 @nv-dlasalle]
- Enable UVA sampling with CPU indices to save GPU memory. [#3892]
- Set
stacklevel=2
for DGL-raised warnings. [#3816] - Pure GPU example of GraphSAGE, with both node classification and link prediction. [#3796 @nv-dlasalle, #3856 @Kh4L]
- Tensoradapter DLPack 0.6 compatibility / PyTorch 1.11 support. [#3803]
System optimization
- Enable UVA for PinSAGE and RandomWalk. [#3857 @yaox12]
- METIS partition with communication volume minimization, reduces the communication volume by 13.4% compared with edge-cut minimization on ogbn-products. [#3821 @chwan1016]
- Change parameter of curand_init for reducing GPU latency [#3794 @paoxiaode]
Bug fixes
- Fix Python 3.10 import error [#3862]
- Fix repeated 0’s in DataLoader index iteration when
shuffle=False
[#3892] - DataLoader device cannot be None [#3822 @yinpeiqi]
- Fix device error in negative sampling with UVA [#3904 @nv-dlasalle]
- Illegal instruction in ClusterGCNSampler (#3910)
- Include pin memory status in pickling and deep copy [#3914]
- Misc doc fixes (@lvcrek @AzureLeon1 @decoherencer @yaox12 @ketyi )