Forward progress: questioning `weakly_parallel` guarantee of stream scheduler
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 32/100
- Issue type
- Documentation
- Clarity
- Needs clarification
- Activity status
- Quiet
- Tech stack
- cpp
- Domain
- backend-api-design
Research direction
Start with include/nvexec/stream_context.cuh at lines 47-49 and read the linked CUDA execution model documentation, focusing on the conditions for parallel forward progress. Compare that explanation with the stream scheduler and the same guarantee in cudax. Done means the guarantee is clarified or the relevant documentation and declarations are updated.
Written by the indexing model from the issue text.
Description
We are wondering why the stream scheduler advertises its forward progress guarantee as weakly_parallel:
Indeed, this page on the Cuda execution model,
https://nvidia.github.io/cccl/libcudacxx/extended_api/execution_model.html
mentions that
If the host implementation provides concurrent forward progress, then CUDA C++ provides parallel forward progress for device threads.
As potential reasons for the stream scheduler advertising only weakly_parallel, we have thought about the host implementation not necessarily providing concurrent forward progress and about the cuda architecture not necessarily providing independent thread scheduling prior to volta. But we are not sure. And so hence our question.
Also noting that we did see the same forward progress guarantee used in the new work in cudax.
Thanks in advance!
Joint work with @romintomasetti.
- Dominant language
- C++
- Stars
- 2.4k
- Forks
- 270
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 37
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from NVIDIA/stdexec
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
-
Difficulty 4/5 3-5 days Newbie friendliness 66/100
-
Difficulty 3/5 1-2 days Newbie friendliness 74/100
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
AXERA-TECH/ax-llm#77 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
games-on-whales/wolf#509 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
bug-unconfirmed
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
NVIDIA/cuda-samples#453 ·