性能基准测试
集成基准测试
DGL 持续评估其核心 API、内核的速度以及最先进 GNN 模型的训练速度。基准测试代码位于主仓库。每晚构建版本都会触发这些测试,结果发布到https://asv.dgl.ai/。
v0.6 基准测试
为了理解 DGL v0.6 的性能提升,我们在 v0.5 基准测试的基础上,针对图分类任务新增了一些基准测试,并与更新后的基线进行了对比。结果可在一个独立仓库中找到。
v0.5 基准测试
请查阅我们的论文 Deep Graph Library: 一个以图为中心、高性能的图神经网络包。
v0.4.3 基准测试
速度和内存使用微基准测试:DGL 将张量和自动微分功能留给后端框架(例如 PyTorch、MXNet 和 TensorFlow),同时利用自身的内核积极优化存储和计算。以下是与另一个流行软件包 PyTorch Geometric (PyG) 的比较。简而言之,原始速度相似,但 DGL 的内存管理要好得多。
数据集 |
模型 |
准确率 |
时间 |
内存 |
||
---|---|---|---|---|---|---|
PyG |
DGL |
PyG |
DGL |
|||
Cora |
GCN |
81.31 ± 0.88 |
0.478 |
0.666 |
1.1 |
1.1 |
GAT |
83.98 ± 0.52 |
1.608 |
1.399 |
1.2 |
1.1 |
|
CiteSeer |
GCN |
70.98 ± 0.68 |
0.490 |
0.674 |
1.1 |
1.1 |
GAT |
69.96 ± 0.53 |
1.606 |
1.399 |
1.3 |
1.1 |
|
PubMed |
GCN |
79.00 ± 0.41 |
0.491 |
0.690 |
1.1 |
1.1 |
GAT |
77.65 ± 0.32 |
1.946 |
1.393 |
1.6 |
1.1 |
|
GCN |
93.46 ± 0.06 |
内存不足 |
28.6 |
内存不足 |
11.7 |
|
Reddit-S |
GCN |
不适用 |
29.12 |
9.44 |
15.7 |
3.6 |
表:200 个 epoch 的训练时间(秒)和内存消耗(GB)
以下是 DGL 在 TensorFlow 后端与其他基于 TF 的 GNN 工具的另一个比较(单个 epoch 的训练时间,单位:秒)
数据集 |
模型 |
DGL |
GraphNet |
tf_geometric |
---|---|---|---|---|
Core |
GCN |
0.0148 |
0.0152 |
0.0192 |
GCN |
0.1095 |
内存不足 |
内存不足 |
|
PubMed |
GCN |
0.0156 |
0.0553 |
0.0185 |
PPI |
GCN |
0.09 |
0.16 |
0.21 |
Cora |
GAT |
0.0442 |
不适用 |
0.058 |
PPI |
GAT |
0.398 |
不适用 |
0.752 |
高内存利用率使得 DGL 能够突破单 GPU 性能的极限,如下图所示。


可扩展性:DGL 充分利用单机和集群中的多 GPU 来提高训练速度,并且性能优于其他替代方案,如下图所示。



延伸阅读:DGL 与其他替代方案的详细比较可以在[这里](https://arxiv.org/abs/1909.01315)找到。