[llvm] [OFFLOAD] Add missing memory mapping notification API for libomptarget migration (PR #172226)
via llvm-commits
llvm-commits at lists.llvm.org
Sun Dec 14 13:17:57 PST 2025
https://github.com/fineg74 created https://github.com/llvm/llvm-project/pull/172226
Add missing liboffload memory mapping notification API for libomptarget migration
This PR adds liboffload memory mapping notification API that needed to make libomptarget to use liboffload
>From 53811f9f0c4b6d8dd4ad19788cade99eb40b7bdd Mon Sep 17 00:00:00 2001
From: "Fine, Gregory" <gregory.fine at intel.com>
Date: Fri, 12 Dec 2025 13:24:07 -0800
Subject: [PATCH] Add memory mapping notification API
---
offload/liboffload/API/Memory.td | 23 +++++++++++++++++++++++
offload/liboffload/src/OffloadImpl.cpp | 10 ++++++++++
2 files changed, 33 insertions(+)
diff --git a/offload/liboffload/API/Memory.td b/offload/liboffload/API/Memory.td
index 79e8038330048..6a00df0c5a575 100644
--- a/offload/liboffload/API/Memory.td
+++ b/offload/liboffload/API/Memory.td
@@ -131,3 +131,26 @@ def olMemFill : Function {
Return<"OL_ERRC_INVALID_SIZE", ["`FillSize % PatternSize != 0`"]>
];
}
+
+def olMemDataMappedNotify : Function {
+ let desc = "Notifies device about mapping of memory block.";
+ let params = [
+ Param<"ol_device_handle_t", "Device", "handle of the device to allocate on", PARAM_IN>,
+ Param<"void *", "Ptr", "Host Pointer", PARAM_IN>,
+ Param<"size_t", "Size", "size of the allocation in bytes", PARAM_IN>
+ ];
+ let returns = [
+ Return<"OL_ERRC_INVALID_SIZE", [
+ "`Size == 0`"
+ ]>
+ ];
+}
+
+def olMemDataUnMappedNotify : Function {
+ let desc = "Notifies device about unmapping of memory block.";
+ let params = [
+ Param<"ol_device_handle_t", "Device", "handle of the device to allocate on", PARAM_IN>,
+ Param<"void *", "Ptr", "Host Pointer", PARAM_IN>
+ ];
+ let returns = [];
+}
diff --git a/offload/liboffload/src/OffloadImpl.cpp b/offload/liboffload/src/OffloadImpl.cpp
index eab9627217ca8..8b6eb2edd1923 100644
--- a/offload/liboffload/src/OffloadImpl.cpp
+++ b/offload/liboffload/src/OffloadImpl.cpp
@@ -1214,5 +1214,15 @@ Error olLaunchHostFunction_impl(ol_queue_handle_t Queue,
Queue->AsyncInfo);
}
+Error olMemDataMappedNotify_impl(ol_device_handle_t Device, void *Ptr,
+ size_t Size) {
+ return Device->Device->notifyDataMapped(Ptr, Size);
+}
+
+Error olMemDataUnMappedNotify_impl(ol_device_handle_t Device, void *Ptr) {
+ return Device->Device->notifyDataUnmapped(Ptr);
+}
+
+
} // namespace offload
} // namespace llvm
More information about the llvm-commits
mailing list