[Openmp-commits] [PATCH] D86307: [OpenMP] Pack first-private arguments to improve efficiency of data transfer

Ye Luo via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Thu Aug 20 15:18:30 PDT 2020


ye-luo added inline comments.


================
Comment at: openmp/libomptarget/src/omptarget.cpp:926
       TgtBaseOffset = (intptr_t)HstPtrBase - (intptr_t)HstPtrBegin;
+      const bool MapTo = ArgTypes[I] & OMP_TGT_MAPTYPE_TO;
+      const int64_t ArgSize = ArgSizes[I];
----------------
tianshilei1992 wrote:
> ye-luo wrote:
> > tianshilei1992 wrote:
> > > ye-luo wrote:
> > > > When I read here with a condition on the transfer.
> > > > I'm wondering is this just first-private? or private is also affected?
> > > > 
> > > Just first-private because we don't need data transfer for private arguments.
> > > I'm wondering is this just first-private? or private is also affected?
> > > 
> > I were referring to the whole patch instead of just the transfer here. I guess you patch affect both private and firstprivate.
> > if I have private(data1, data2, data3), will your change make a single allocation?
> No. In that case, `MapTo` will be `false`.
1. Then rename it IsFirstPrivate. MapTo seems quite misleading.
2. In the future, I think it can be nice optimization to allocate all the private in a single shot. Device malloc is still very expensive.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D86307/new/

https://reviews.llvm.org/D86307



More information about the Openmp-commits mailing list