[Feature][Request] Support HeteroGraph for RelGraphConv module
- Dominant language
- Python
- Stars
- 14.3k
- Forks
- 3.1k
- PR merge metrics
- No merged PRs in 30d
Description
## 🚀 Feature
When it comes to using RelGraphConv module, it seems we always converted to a homogeneous graph for all current examples; while for hetero-graph RGCN, we used another more general module (HeteroGraphConv).
For small problems, converting to homo. graph wouldn't add too much overhead of using RelGraphConv; however, for building larger Hetero-RGCN modules with many relation types, can we also support RelGraphConv-like implementation, meaning, issuing all relations in a batched fashion or a single `segment_MM` operation, instead of iterating over every relation type (HeteroGraphConv)?
## Motivation
With the sacrifice of generality of HeteroGraphConv, this, however, can reduce user's effort of implementing RGCN with hetero-graph, and improve GPU utilization when every single relation is not so intensive.
## Alternatives
For hetero-RGCN, current alternatives are: (1) `to_homogeneous` + `RelGraphConv`, which performs well but only for homogeneous graph; and (2) `HeteroGraphConv`, which is very flexible and customizable, but may be less convenient and efficient.
## Pitch
A RelGraphConv module that can support hetero-graph with single conv but many relation types, for better performance.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.