Skip to content

Fix nvexec bulk callable forwarding - #2199

Open
fallintoplace wants to merge 2 commits into
NVIDIA:mainfrom
fallintoplace:fix/nvexec-bulk-cvref-forwarding
Open

Fix nvexec bulk callable forwarding#2199
fallintoplace wants to merge 2 commits into
NVIDIA:mainfrom
fallintoplace:fix/nvexec-bulk-cvref-forwarding

Conversation

@fallintoplace

Copy link
Copy Markdown
Contributor

What changed

  • Preserve the callable's cvref when connecting the single-GPU nvexec bulk sender.
  • Add coverage for running a const lvalue bulk sender.

Why

bulk_sender::connect() always cast the stored callable to Fun&&. That can move from an lvalue sender and makes const lvalue senders fail to compile. The sender's value category should decide whether the callable is moved or copied.

Testing

  • git diff --check
  • CUDA regression test added for GPU CI

@copy-pr-bot

copy-pr-bot Bot commented Aug 15, 2026

Copy link
Copy Markdown

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.

@ericniebler

Copy link
Copy Markdown
Collaborator

/ok to test ba3fda5

@ericniebler

Copy link
Copy Markdown
Collaborator

/ok to test e0c6df2

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants