Skip to content

[FEA]: Native Temporal PageRank and Incremental PageRank Support for Dynamic Graphs #5589

Description

@sauravsingla

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

  • I agree to follow cuGraph's Code of Conduct
  • I have searched the open feature requests and have found no duplicates for this feature request

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions