14. Memory Problem
Sparse Matmul
●
● Unnecessary Multiplication by 1
Coo Matrix Pattern
sparse_matmul(coo_adj)
of Memory Consumption
15. Experiment - Network Dataset on GPU -
Padding Pattern
(s / 100 epoch)
Sparse Pattern
(s / 100 epoch)
Coo Matrix Pattern
(s / 100 epoch)
Cora
V=2,708
E=5,278
3.3760 3.0190 3.5500
Citeseer
V=3,312
E=4,660
6.8128 3.3024 6.2707
Reddit
V=232,965
E=11,606,919
Out of Memory Out of Memory 318.76
(5.452 GB)
頂点: 23万
辺:1100万!!
Training of GIN [2019 Keyulu+]
layer_num=2, feature_num=64
On a single Tesla V100-SXM2
16. Experiment - Network Dataset on CPU -
Padding Pattern
(s / 100 epoch)
Sparse Pattern
(s / 100 epoch)
Coo Matrix Pattern
(s / 100 epoch)
Cora
V=2,708
E=5,278
224.439 22.8092 12.1168
Citeseer
V=3,312
E=4,660
1346.11 23.3707 39.8982
Reddit
V=232,965
E=11,606,919
Out of Memory Out of Memory 28097.187
頂点: 23万
辺:1100万!!
Training of GIN [2019 Keyulu+]
layer_num=2, feature_num=64
On Intel(R) Xeon(R) Gold 6254 CPU @ 3.10GHz
17. Conclusion
• Sparse pattern is good in most cases
– Not using multiplication
• For very large graphs, CooMatrix saves memory
– Not as fast as sparse pattern
18. Summary
Chainer Chemistry Goal
Overall GNN for Chemical Data General Framework of GNN
Graph Data Pattern Padding Pattern + Sparse Pattern
Dataset Chemical Dataset (Small)
● qm9, tox21, etc
+ Network (Large)
● Citation Networks, Reddit
Task Graph Regression
Graph Classification
+ Node Regression
+ Node Classification
Additional + Sparse matmul