[Openmp-commits] [PATCH] D113119: [OpenMP] Introduce asynchronous malloc and free

George Rokos via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Sat Nov 20 15:22:41 PST 2021

grokos added inline comments.

Comment at: openmp/libomptarget/plugins/common/MemoryManager/MemoryManager.h:146-148
+  int deleteOnDevice(void *Ptr) const {
+    return DeviceAllocator.free(Ptr, /* AsyncInfo */ nullptr);
+  }
We aren't we passing an `AsyncInfo` object as an extra argument to `deleteOnDevice` and subsequently call `DeviceAllocator.free()` with that `AsyncInfo` instead of `nullptr`? I suspect it's because we need to make room for subsequent allocations before attempting to re-allocate, if that's the case can you add a comment to make it clearer?

Comment at: openmp/libomptarget/plugins/common/MemoryManager/MemoryManager.h:293
   /// Deallocate memory pointed by \p TgtPtr
-  int free(void *TgtPtr) {
+  int free(void *TgtPtr, __tgt_async_info *AsyncInfo) {
     DP("MemoryManagerTy::free: target memory " DPxMOD ".\n", DPxPTR(TgtPtr));
If there is a reason why `deleteOnDevice()` cannot be called with an extra `AsyncInfo` argument, we are we adding it here? It's not used anywhere in the body of `free()`.

  rG LLVM Github Monorepo



More information about the Openmp-commits mailing list