[Openmp-commits] [PATCH] D65001: [OpenMP][libomptarget] Add support for unified memory for regular maps
Gheorghe-Teodor Bercea via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Mon Jul 29 11:45:26 PDT 2019
gtbercea marked an inline comment as done.
gtbercea added inline comments.
Comment at: libomptarget/src/omptarget.cpp:247-249
+ // TODO: Check if this is correct
+ bool IsInUseDevicePtrClause = arg_types[i] & OMP_TGT_MAPTYPE_TARGET_PARAM &&
+ arg_types[i] & OMP_TGT_MAPTYPE_RETURN_PARAM;
> grokos wrote:
> > This is correct, with one little exception. Although the OpenMP standard does not mandate it, upstream clang supports `use_device_ptr` on pointers which are struct members. Because they are struct members, they are not marked with `TARGET_PARAM` (only the combined entry is considered a target parameter, not the individual members). On the other hand, they are marked with `PTR_AND_OBJ` and have some value in the `MEMBER_OF` bits.
> > Once again, it's a non-standard extension so we are free to decide whether to support it or not in the unified shared memory scenario.
> Can we please first answer my question why we need to care about the existence of `use_device_ptr`? Why does it make a difference for unified shared memory?
Because use_device_ptr implies the use of a true device pointer and again that needs to be respected even unified memory is used.
CHANGES SINCE LAST ACTION
More information about the Openmp-commits