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

George Rokos via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Tue Sep 1 07:40:36 PDT 2020


grokos added a comment.

Minor comments (about typos) to be taken into account in case of a future patch.



================
Comment at: openmp/libomptarget/src/omptarget.cpp:831
+  struct FirstPrivateArgInfoTy {
+    /// The index of the element in \p TgtArgs corresponding to the argument
+    const int Index;
----------------
Here you are referring to `TgtArgs` which is an argument of `packAndTransfer()`. Can you add a comment in parenthesis to make it clear? The first time I read the code I thought you were mistakenly using the name `TgtArgs` instead of `TgtPtrs` (which is a member of `PrivateArgumentManagerTy` class).


================
Comment at: openmp/libomptarget/src/omptarget.cpp:907
+      // FirstPrivateArgSizeThreshold);
+      // 2. It must be first-private (needs to be mapped to target device).
+      // We will pack all this kind of arguments to transfer them all at once
----------------
needs to mapped --> needs to be copied to target device
Technically speaking, first-private variables are not mapped, they are only copied to the device.


================
Comment at: openmp/libomptarget/src/omptarget.cpp:928
+      assert(FirstPrivateArgSize != 0 &&
+             "FirstPrivateArgSize is 0 but FirstPrivateArgInfo is empty");
+      FirstPrivateArgBuffer.resize(FirstPrivateArgSize, 0);
----------------
is empty --> is not empty


================
Comment at: openmp/libomptarget/src/omptarget.cpp:957
+        void *&Ptr = TgtArgs[Info.Index];
+        assert(Ptr == nullptr && "Target pointer is already set by mistaken");
+        Ptr = reinterpret_cast<void *>(TP);
----------------
by mistaken --> by mistake


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