diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2018-12-06 15:27:58 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2018-12-06 15:27:58 +0000 |
commit | 5442f3e549c8d32e7615445404b68b3d2773b6d0 (patch) | |
tree | c6b0ff8e8f2e8257a07d3cbbfee7ffc3e0b47469 /openmp | |
parent | f30c4ad3253c8f77f3746ba1c2f52961b3dfb039 (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.cu | 2 |
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(); } //////////////////////////////////////////////////////////////////////////////// |