Skip to content

Replace legacy SCC with the new SCC implementation and SCC performance improvements#5469

Open
seunghwak wants to merge 46 commits intorapidsai:mainfrom
seunghwak:enh_scc_perf
Open

Replace legacy SCC with the new SCC implementation and SCC performance improvements#5469
seunghwak wants to merge 46 commits intorapidsai:mainfrom
seunghwak:enh_scc_perf

Conversation

@seunghwak
Copy link
Copy Markdown
Contributor

@seunghwak seunghwak commented Mar 18, 2026

Replace legacy SCC with the new SCC implementation.

In addition, this code adds chain removal logic (a chain of in-degree 1 out-degree 1 vertices) in peeling out trivial singleton SCC vertices. The chain removal is based on pointer jumping and significantly reduces the number of iterations in recursively removing 0 in-degree or 0 out-degree vertices.

Breaking as the legacy SCC is removed.

@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot bot commented Mar 18, 2026

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@seunghwak seunghwak marked this pull request as ready for review March 30, 2026 17:43
@seunghwak seunghwak requested review from a team as code owners March 30, 2026 17:43
@seunghwak seunghwak added improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Mar 30, 2026
@seunghwak seunghwak changed the title [WIP] Replace legacy SCC with the new SCC implementation and SCC performance improvements Replace legacy SCC with the new SCC implementation and SCC performance improvements Mar 30, 2026
@seunghwak seunghwak added breaking Breaking change and removed non-breaking Non-breaking change labels Mar 30, 2026
@seunghwak seunghwak self-assigned this Mar 30, 2026
@seunghwak seunghwak requested a review from a team as a code owner April 2, 2026 07:26
@seunghwak seunghwak requested a review from jameslamb April 2, 2026 07:26
Copy link
Copy Markdown
Member

@jameslamb jameslamb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks ok to me from a ci-codeowners perspective, it's ok to bump up the max allowed binary size a bit for now.

@seunghwak seunghwak requested a review from a team as a code owner April 3, 2026 02:10
@seunghwak seunghwak requested a review from acostadon April 3, 2026 02:10
@review-notebook-app
Copy link
Copy Markdown

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@rapidsai rapidsai deleted a comment from copy-pr-bot bot Apr 3, 2026
@seunghwak
Copy link
Copy Markdown
Contributor Author

/ok to test 717b468

Copy link
Copy Markdown
Contributor

@rlratzel rlratzel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes themselves LGTM, but I have a minor concern about the breaking change.

We could consider creating a backwards-compatible API that calls the new SCC with a deprecation warning, but I don't think any/many users will have a problem with this. I know nx-cugraph will need to be updated, but we don't need a deprecation warning for that.

…er and a transform iterator as a value iterator in thrust::reduce_by_key (this is failing on RTX Pro 6000)
@seunghwak
Copy link
Copy Markdown
Contributor Author

/ok to test 80dd3ef

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking Breaking change improvement Improvement / enhancement to an existing function

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants