[Openmp-commits] [PATCH] D47903: [OpenMP] Use C++11 Atomics - barrier, tasking, and lock code

Jonathan Peyton via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Thu Jun 7 13:14:51 PDT 2018


jlpeyton created this revision.
jlpeyton added reviewers: AndreyChurbanov, tlwilmar.
jlpeyton added a project: OpenMP.
Herald added a subscriber: guansong.

These are preliminary changes that attempt to use C++11 Atomics in the runtime.
We are expecting better portability with this change across architectures/OSes.
Here is the summary of the changes.

- Most variables that need synchronization operation were converted to generic atomic variables (std::atomic<T>)
- Variables that are updated with combined CAS are packed into a single atomic variable, and partial read/write is done through unpacking/packing

Patch by Hansang Bae


Repository:
  rOMP OpenMP

https://reviews.llvm.org/D47903

Files:
  runtime/src/kmp.h
  runtime/src/kmp_barrier.cpp
  runtime/src/kmp_cancel.cpp
  runtime/src/kmp_csupport.cpp
  runtime/src/kmp_debugger.cpp
  runtime/src/kmp_global.cpp
  runtime/src/kmp_io.cpp
  runtime/src/kmp_lock.cpp
  runtime/src/kmp_lock.h
  runtime/src/kmp_omp.h
  runtime/src/kmp_os.h
  runtime/src/kmp_runtime.cpp
  runtime/src/kmp_taskdeps.cpp
  runtime/src/kmp_tasking.cpp
  runtime/src/kmp_wait_release.h
  runtime/src/z_Linux_util.cpp
  runtime/src/z_Windows_NT_util.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D47903.150396.patch
Type: text/x-patch
Size: 77187 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20180607/7d20b3bf/attachment-0001.bin>


More information about the Openmp-commits mailing list