From 5d7b8186ffc23eac135ef7f9468ba7be86b5a6bf Mon Sep 17 00:00:00 2001 From: Olivier Giroux Date: Thu, 24 Sep 2020 14:05:39 -0700 Subject: [PATCH] Docs: update tightened condition on arrive --- docs/api/synchronization_library/barrier.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/api/synchronization_library/barrier.md b/docs/api/synchronization_library/barrier.md index 6d404e547b..b52e1e51ab 100644 --- a/docs/api/synchronization_library/barrier.md +++ b/docs/api/synchronization_library/barrier.md @@ -60,6 +60,8 @@ An object of type `barrier` shall not be accessed concurrently by CPU and GPU th (Note, for objects of scopes other than `thread_scope_system` this is a data-race, and thefore also prohibited regardless of memory characteristics.) +Under Compute Capability 8 or above, when an object of type `barrier` is placed in `__shared__` memory, the member function `arrive` performs a reduction of the arrival count among [coalesced](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#coalesced-group-cg) threads followed by the arrival operation in one thread. Programs shall ensure that this transformation would not introduce errors, for example relative to the requirements of `[thread.barrier.class]` paragraph 12 in N4860. + Under Compute Capability 6 or prior, an object of type `barrier` may not be used. ## Implementation-Defined Behavior