[Openmp-commits] [PATCH] D44260: [OpenMP][libomptarget] Add global memory data sharing support for master-worker sharing.

Gheorghe-Teodor Bercea via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Thu Mar 8 10:18:29 PST 2018


gtbercea created this revision.
gtbercea added reviewers: ABataev, grokos, caomhin, carlo.bertolli.
Herald added subscribers: openmp-commits, guansong.

This patch adds support for the sharing of variables from the master thread of a team to the worker threads of the team.
The runtime uses a stack structure implemented as a doubly-linked list of slots with each slot having the exact same size as the size requested. This implementation leverages existing data structures. The runtime functions are added as separate functions to avoid interfering with the current interface.

Limitations to be addressed in future patches:

- This current patch only employs global memory. In a future patch we will enable to usage for shared memory as an optimization.
- Allow the allocation of several requested sizes in the same slot.


Repository:
  rOMP OpenMP

https://reviews.llvm.org/D44260

Files:
  libomptarget/deviceRTLs/nvptx/src/data_sharing.cu
  libomptarget/deviceRTLs/nvptx/src/interface.h
  libomptarget/deviceRTLs/nvptx/src/omp_data.cu
  libomptarget/deviceRTLs/nvptx/src/omptarget-nvptx.h
  libomptarget/deviceRTLs/nvptx/src/option.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44260.137603.patch
Type: text/x-patch
Size: 12093 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20180308/b8e5e6c3/attachment-0001.bin>


More information about the Openmp-commits mailing list