Is this a new feature, an improvement, or a change to existing functionality?
New Feature
How would you describe the priority of this feature request
Critical (currently preventing usage)
Please provide a clear description of problem this feature solves
cuGraph currently provides an excellent implementation of PageRank for static graphs. We currently use static PageRank on production-scale graphs containing hundreds of millions of nodes and billions of edges.
As new edges continuously arrive, we need to recompute PageRank on the entire graph. This is computationally expensive and treats the graph as a static snapshot.
Many real-world graph applications are inherently dynamic, where the ordering, timestamps, and recency of edges are part of the signal. Static PageRank does not naturally capture these temporal characteristics.
Describe your ideal solution
It would be valuable if cuGraph supported a native Temporal PageRank implementation with:
- Timestamp-aware edge processing
- Incremental PageRank updates
- Configurable time-decay
- Warm-start from previously computed PageRank scores
- Single-GPU and Multi-GPU execution
- Python and C++ APIs
This would enable efficient analysis of continuously evolving graphs without requiring full graph recomputation after every update.
Describe any alternatives you have considered
The current alternative is to repeatedly rebuild graph snapshots and rerun static PageRank whenever new edges arrive. While this works, it is computationally expensive for very large evolving graphs and does not naturally model temporal ordering or recency.
Applying manual time-decay outside the algorithm is another option, but it still requires repeated recomputation and lacks native support for dynamic graph analytics.
Additional context
For example, an account may rapidly receive funds and immediately forward them to another account. Although its static PageRank may not change significantly, the sequence, ordering, and timing of interactions can be an important signal. Temporal PageRank naturally incorporates this information while preserving GPU scalability.
This capability would benefit applications such as:
- Fraud detection
- Anti-money laundering
- Cybersecurity
- Recommendation systems
- Social network analysis
- Communication networks
- Other large evolving graphs
More broadly, native Temporal PageRank would extend cuGraph from snapshot-based graph analytics toward dynamic graph analytics, providing a foundation for future temporal graph algorithms.
One possible algorithmic reference is the Temporal PageRank paper by Rozenshtein & Gionis, which extends PageRank by incorporating temporal ordering and recency of edges.
From a systems perspective, native support in cuGraph could also complement GPU-native streaming graph processing approaches such as MorphTree by enabling efficient incremental graph analytics on continuously evolving graphs. These references are intended as background rather than prescribing a specific implementation.
I’d be happy to help validate the implementation, benchmark it on large-scale dynamic graphs, provide feedback on the API design, and assist with testing if this feature aligns with the cuGraph roadmap.
Code of Conduct
Is this a new feature, an improvement, or a change to existing functionality?
New Feature
How would you describe the priority of this feature request
Critical (currently preventing usage)
Please provide a clear description of problem this feature solves
cuGraph currently provides an excellent implementation of PageRank for static graphs. We currently use static PageRank on production-scale graphs containing hundreds of millions of nodes and billions of edges.
As new edges continuously arrive, we need to recompute PageRank on the entire graph. This is computationally expensive and treats the graph as a static snapshot.
Many real-world graph applications are inherently dynamic, where the ordering, timestamps, and recency of edges are part of the signal. Static PageRank does not naturally capture these temporal characteristics.
Describe your ideal solution
It would be valuable if cuGraph supported a native Temporal PageRank implementation with:
This would enable efficient analysis of continuously evolving graphs without requiring full graph recomputation after every update.
Describe any alternatives you have considered
The current alternative is to repeatedly rebuild graph snapshots and rerun static PageRank whenever new edges arrive. While this works, it is computationally expensive for very large evolving graphs and does not naturally model temporal ordering or recency.
Applying manual time-decay outside the algorithm is another option, but it still requires repeated recomputation and lacks native support for dynamic graph analytics.
Additional context
For example, an account may rapidly receive funds and immediately forward them to another account. Although its static PageRank may not change significantly, the sequence, ordering, and timing of interactions can be an important signal. Temporal PageRank naturally incorporates this information while preserving GPU scalability.
This capability would benefit applications such as:
More broadly, native Temporal PageRank would extend cuGraph from snapshot-based graph analytics toward dynamic graph analytics, providing a foundation for future temporal graph algorithms.
One possible algorithmic reference is the Temporal PageRank paper by Rozenshtein & Gionis, which extends PageRank by incorporating temporal ordering and recency of edges.
From a systems perspective, native support in cuGraph could also complement GPU-native streaming graph processing approaches such as MorphTree by enabling efficient incremental graph analytics on continuously evolving graphs. These references are intended as background rather than prescribing a specific implementation.
I’d be happy to help validate the implementation, benchmark it on large-scale dynamic graphs, provide feedback on the API design, and assist with testing if this feature aligns with the cuGraph roadmap.
Code of Conduct