[Openmp-commits] [PATCH] D141545: [OpenMP] Implement `omp_get_mapped_ptr`

Johannes Doerfert via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Wed Jan 11 14:15:24 PST 2023

jdoerfert accepted this revision.
jdoerfert added a subscriber: carlo.bertolli.
jdoerfert added a comment.
This revision is now accepted and ready to land.

Fix the initial device case. Use a shared lock if we can already. Otherwise, it'll wait for @carlo.bertolli. LG

Comment at: openmp/libomptarget/src/api.cpp:335
+    REPORT("Device %d is initial device. No mapped pointer.\n", DeviceNum);
+    return nullptr;
+  }
> Otherwise it returns the device pointer, which is ptr if device_num is the value returned by  omp_get_initial_device().

Comment at: openmp/libomptarget/src/api.cpp:340
+  {
+    std::lock_guard<std::mutex> LG(PM->RTLsMtx);
+    DevicesSize = PM->Devices.size();
We need a shared lock here. (and basically everywhere else)

Comment at: openmp/libomptarget/src/api.cpp:355
+  bool IsHostPtr = false;
+  auto &Device = *PM->Devices[DeviceNum];
+  TargetPointerResultTy TPR =
And this needs to be (shared) locked too. 

@carlo.bertolli will fix these up consistently (see also above).

  rG LLVM Github Monorepo



More information about the Openmp-commits mailing list