aboutsummaryrefslogtreecommitdiff
path: root/openmp
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2018-12-06 15:27:58 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2018-12-06 15:27:58 +0000
commit5442f3e549c8d32e7615445404b68b3d2773b6d0 (patch)
treec6b0ff8e8f2e8257a07d3cbbfee7ffc3e0b47469 /openmp
parentf30c4ad3253c8f77f3746ba1c2f52961b3dfb039 (diff)
[OPENMP][NVPTX]Fix __kmpc_flush to flush the memory per system, not per block.
Summary: According to the standard, after memory flushing the changes in the memory must be visible to all the threads in all teams. Patch fixes this. Reviewers: gtbercea, kkwli0 Subscribers: guansong, jfb, caomhin, openmp-commits Differential Revision: https://reviews.llvm.org/D55370 llvm-svn: 348491
Diffstat (limited to 'openmp')
-rw-r--r--openmp/libomptarget/deviceRTLs/nvptx/src/sync.cu2
1 files changed, 1 insertions, 1 deletions
diff --git a/openmp/libomptarget/deviceRTLs/nvptx/src/sync.cu b/openmp/libomptarget/deviceRTLs/nvptx/src/sync.cu
index 082f3b302db0..d4f2ada96044 100644
--- a/openmp/libomptarget/deviceRTLs/nvptx/src/sync.cu
+++ b/openmp/libomptarget/deviceRTLs/nvptx/src/sync.cu
@@ -132,7 +132,7 @@ EXTERN void __kmpc_end_single(kmp_Ident *loc, int32_t global_tid) {
EXTERN void __kmpc_flush(kmp_Ident *loc) {
PRINT0(LD_IO, "call kmpc_flush\n");
- __threadfence_block();
+ __threadfence_system();
}
////////////////////////////////////////////////////////////////////////////////