[llvm] [Docs][AMDGPU] Explain completion of async operations (PR #212756)

Sameer Sahasrabuddhe via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 30 00:30:15 PDT 2026


================
@@ -41,13 +42,23 @@ if:
 - `M` is not in the current sequence at any operation `Z` that immediately
   follows `Y` in *program-order*.
 
-Each dynamic instance `I` of an async *instruction* initiates a corresponding
-async *operation* `A` such that `I` *happens-before* `A`. Then `A`
-*happens-before* a `wait.asyncmark()` operation `Y` if there exists an
-`asyncmark()` operation `X` such that:
+## Completion of Async Operations
+
+An async operation executes outside the thread that initiated it, i.e., it is
+not related in *program-order* with any other operations from that thread. But
+the thread can use an asyncmark to ensure that the async operation is
+*completed-at* some later operation.
----------------
ssahasra wrote:

Yeah, that's a bit of chicken-and-egg problem. I want to just introduce `completed-at` in this change, which will later get used in the proper memory model. I'll probably not commit this until the whole thing is ready.

https://github.com/llvm/llvm-project/pull/212756


More information about the llvm-commits mailing list