Skip to content

Add cuml.accel support for Pipeline#7782

Closed
csadorf wants to merge 24 commits intorapidsai:mainfrom
csadorf:add-cuml.accel-support-for-pipeline
Closed

Add cuml.accel support for Pipeline#7782
csadorf wants to merge 24 commits intorapidsai:mainfrom
csadorf:add-cuml.accel-support-for-pipeline

Conversation

@csadorf
Copy link
Copy Markdown
Contributor

@csadorf csadorf commented Feb 6, 2026

Draft implementation for cuml.accel support for Pipeline

Based on #7766

Closes #7778

@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented Feb 6, 2026

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@github-actions github-actions Bot added the Cython / Python Cython or Python issue label Feb 6, 2026
@csadorf csadorf added feature request New feature or request non-breaking Non-breaking change labels Feb 6, 2026
@csadorf csadorf changed the title Add cuml.accel support for pipeline Add cuml.accel support for Pipeline Feb 6, 2026
@csadorf csadorf force-pushed the add-cuml.accel-support-for-pipeline branch from 6b992db to 29007e9 Compare February 18, 2026 19:15
@csadorf
Copy link
Copy Markdown
Contributor Author

csadorf commented Feb 18, 2026

/ok to test 29007e9

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

We'll want to revert these changes before merge and roll the them into their own PR.

filterwarnings =
# Error if the xfail list contains unknown entries
error::cuml.accel.pytest_plugin.UnmatchedXfailTests
; error::cuml.accel.pytest_plugin.UnmatchedXfailTests
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

revert before merge

@jcrist
Copy link
Copy Markdown
Member

jcrist commented Feb 27, 2026

I've pushed up an alternative (and I believe simpler implementation) here: #7835.

rapids-bot Bot pushed a commit that referenced this pull request Mar 3, 2026
This PR adds an optimization for `Pipeline`s when running under `cuml.accel`. In cases where the tail end of operations performed by a pipeline are all accelerated, we can avoid intermediate host<->device transfers and pass the intermediates on device.

For example, a pipeline of `unaccelerated -> unaccelerated -> accelerated -> accelerated` wouldn't need to convert the intermediate result back to numpy between steps 3 and 4 and could pass that on device. A pipeline of `unaccelerated -> accelerated -> unaccelerated -> accelerated` though would keep passing intermediates on host since there's not a contiguous block of accelerated estimators.

The actual implementation of this is roughly ~100 lines. The remainder is tests, as well as a refactor to better distinguish between patches (mutate the original module) and overrides (overlay over the original module).

Fixes #7778. Supersedes #7782.

Authors:
  - Jim Crist-Harif (https://github.com/jcrist)

Approvers:
  - Simon Adorf (https://github.com/csadorf)

URL: #7835
@jcrist
Copy link
Copy Markdown
Member

jcrist commented Mar 3, 2026

Superseded by #7835.

@jcrist jcrist closed this Mar 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Cython / Python Cython or Python issue feature request New feature or request non-breaking Non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add cuml.accel support for Pipeline

3 participants