Commit 6e18e6b3 authored by Gheorghe-Teodor Bercea's avatar Gheorghe-Teodor Bercea
Browse files

[OpenMP][libomptarget] Add global memory data sharing support for master-worker sharing.

Summary:
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.

Reviewers: ABataev, grokos, caomhin, carlo.bertolli

Reviewed By: grokos

Subscribers: Hahnfeld, guansong, openmp-commits

Differential Revision: https://reviews.llvm.org/D44260

git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@327440 91177308-0d34-0410-b5e6-96231b3b80d8
parent cb025480
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment