Repository navigation
Conversation
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Hint conversion and single-attempt behavior libcudacxx/include/cuda/__barrier/shared_memory_barrier.h |
Adds hint range checking and conversion. Nonpositive hints perform one test-wait check; positive hints use the SM 90 hinted wait path or report unsupported storage on unsupported targets. |
Hinted wait overloads and tests libcudacxx/include/cuda/__barrier/shared_memory_barrier.h, libcudacxx/test/libcudacxx/cuda/barrier/shared_memory_barrier.cu |
Adds hinted overloads for arrival tokens, primary phases, and conditional phases. Tests check status and completion results for several hint values before and after barrier completion. |
Possibly related PRs
- NVIDIA/cccl#12131: Changes
operation_statusdecoding used by the new status-returning hinted waits.
Suggested reviewers: fbusato, wmaxey, jacobfaib
Priority:
Change: Feature
Merge Risk: 
Minimal · up to 8682d
-
The hinted waits and their tests show no identified issue that should block merging after normal checks.
Comment @coderabbitai help to get the list of available commands.
🥳 CI Workflow Results🟩 Finished in 2h 59m: Pass: 100%/228 | Total: 4d 04h | Max: 1h 32m | Hits: 92%/687189See results here. |
We currently have
try_waitthat will do a single wait for an unspecified amount of time andtry_wait_forthat takes a time limit and the API will keep callingtry_waitin a loop until that time limit passes. We also havewaitthat will wait however long it takes in a loop.try_waitPTX instruction actually does take a time limit hint, its not promised by the implementation, that's whytry_wait_forhas a loop. But we should expose another wait variant that can supply that hint without the extra cost of a loop.This PR adds a new overload of
try_wait. It is still documented to do a one-shot wait for unspecified amount of time like the currenttry_waitvariant, but it takes an extra argument with the wait time hint.