NVIDIA / NVIDIA/stdexec

Allocate cuda stream `let_value`'s `__op_state_` in pinned memory

Open
#980 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug cuda P1
Dominant language
C++
Stars
2.4k
Forks
270
Avg merge
3d 6h
Merged PRs (30d)
39

Description

The fix for #953 is not strictly correct. Only let_value's operation state needs to be in pinned memory, and it needs to be there not just for sync_wait but for all algorithms that eagerly connect a sender and store the resulting operation state in memory that isn't device-accessible.

Once let_value's operation state is allocate in pinned memory, back out the change to sync_wait that was made in #970.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read issues #953 and #970 first to understand the existing allocation changes. Trace how let_value's operation state is allocated and how sync_wait stores eagerly connected operation states; done means let_value uses pinned memory for all such algorithms and the sync_wait change from #970 is backed out.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.