Skip to content

port the trampoline_scheduler from stdexec to cudax::execution - #6894

Merged
ericniebler merged 1 commit into
NVIDIA:mainfrom
ericniebler:cudax-execution-trampoline-scheduler
Dec 10, 2025
Merged

ericniebler merged 1 commit into
NVIDIA:mainfrom
ericniebler:cudax-execution-trampoline-scheduler

Conversation

@ericniebler

Copy link
Copy Markdown
Contributor

Description

the trampoline_scheduler is basically like the inline_scheduler, except that it detects deep recursion caused by too many consecutive synchronous completions, and then unwinds the stack.

trampoline_scheduler is necessary before we can have any repeating algorithms in cudax::execution. for an as-yet hypothetical repeat algorithm, sync_wait(repeat(just()) would blow the stack. but sync_wait(repeat(on(trampoline_scheduler{}, just()))) would run forever and never blow the stack.

once trampoline_scheduler lands, i will add a repeat_n algorithm, and then finally i will be able to port georgii's excellent maxwell example to cudax::execution.

Checklist

  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@copy-pr-bot

copy-pr-bot Bot commented Dec 5, 2025

Copy link
Copy Markdown
Contributor

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.

@cccl-authenticator-app cccl-authenticator-app Bot moved this from Todo to In Progress in CCCL Dec 5, 2025
@ericniebler

Copy link
Copy Markdown
Contributor Author

/ok to test db9400a

@ericniebler

Copy link
Copy Markdown
Contributor Author

/ok to test 3a29488

@github-actions

This comment has been minimized.

@ericniebler

Copy link
Copy Markdown
Contributor Author

/ok to test aca9bdc

@github-actions

This comment has been minimized.

@ericniebler
ericniebler force-pushed the cudax-execution-trampoline-scheduler branch from aca9bdc to f557102 Compare December 9, 2025 02:03
@ericniebler

Copy link
Copy Markdown
Contributor Author

/ok to test f557102

@github-actions

This comment has been minimized.

@ericniebler
ericniebler force-pushed the cudax-execution-trampoline-scheduler branch from f557102 to 7cde7e8 Compare December 9, 2025 02:37
@ericniebler

Copy link
Copy Markdown
Contributor Author

/ok to test 7cde7e8

@github-actions

github-actions Bot commented Dec 9, 2025

Copy link
Copy Markdown
Contributor

🥳 CI Workflow Results

🟩 Finished in 21m 30s: Pass: 100%/43 | Total: 5h 29m | Max: 21m 18s | Hits: 86%/19401

See results here.

@ericniebler
ericniebler marked this pull request as ready for review December 9, 2025 17:22
@ericniebler
ericniebler requested a review from a team as a code owner December 9, 2025 17:22
@ericniebler
ericniebler requested a review from griwes December 9, 2025 17:22
@cccl-authenticator-app cccl-authenticator-app Bot moved this from In Progress to In Review in CCCL Dec 9, 2025
@ericniebler
ericniebler merged commit 2f36e35 into NVIDIA:main Dec 10, 2025
58 checks passed
@github-project-automation github-project-automation Bot moved this from In Review to Done in CCCL Dec 10, 2025
@ericniebler
ericniebler deleted the cudax-execution-trampoline-scheduler branch December 10, 2025 18:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants