[llvm] [OFFLOAD] Make L0 provide more information about device to be consistent with other plugins (PR #172946)

via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 8 14:01:19 PST 2026


https://github.com/fineg74 updated https://github.com/llvm/llvm-project/pull/172946

>From 96cecdc87812831c3c30a6e9e73fe87c08370133 Mon Sep 17 00:00:00 2001
From: "Fine, Gregory" <gregory.fine at intel.com>
Date: Thu, 18 Dec 2025 19:26:08 -0800
Subject: [PATCH 1/3] Make L0 provide more information about device to be
 consistent with other plugins

---
 offload/plugins-nextgen/level_zero/src/L0Device.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/offload/plugins-nextgen/level_zero/src/L0Device.cpp b/offload/plugins-nextgen/level_zero/src/L0Device.cpp
index 4827eb3996768..ef4672987c307 100644
--- a/offload/plugins-nextgen/level_zero/src/L0Device.cpp
+++ b/offload/plugins-nextgen/level_zero/src/L0Device.cpp
@@ -547,6 +547,7 @@ Expected<InfoTreeNode> L0DeviceTy::obtainInfoImpl() {
   InfoTreeNode Info;
   Info.add("Device Number", getDeviceId());
   Info.add("Device Name", getNameCStr(), "", DeviceInfo::NAME);
+  Info.add("Product Name", getNameCStr(), "", DeviceInfo::PRODUCT_NAME);
   Info.add("Device Type", "GPU", "", DeviceInfo::TYPE);
   Info.add("Vendor", "Intel", "", DeviceInfo::VENDOR);
   Info.add("Vendor ID", getVendorId(), "", DeviceInfo::VENDOR_ID);
@@ -581,7 +582,8 @@ Expected<InfoTreeNode> L0DeviceTy::obtainInfoImpl() {
   MaxSize.add("y", getMaxGroupSizeY() * getMaxGroupCountY());
   MaxSize.add("z", getMaxGroupSizeZ() * getMaxGroupCountZ());
 
-  Info.add("Local memory size (bytes)", getMaxSharedLocalMemory());
+  Info.add("Local memory size (bytes)", getMaxSharedLocalMemory(), "",
+           DeviceInfo::WORK_GROUP_LOCAL_MEM_SIZE);
   Info.add("Global memory size (bytes)", getGlobalMemorySize(), "",
            DeviceInfo::GLOBAL_MEM_SIZE);
   Info.add("Cache size (bytes)", getCacheSize());

>From c441c9cb6444fd9f8c91bdb39f79ca73fe1b305d Mon Sep 17 00:00:00 2001
From: "Fine, Gregory" <gregory.fine at intel.com>
Date: Thu, 8 Jan 2026 13:33:41 -0800
Subject: [PATCH 2/3] Provide more descriptive Product name info

---
 .../level_zero/include/L0Device.h             |  2 ++
 .../level_zero/src/L0Device.cpp               | 23 ++++++++++++++++++-
 2 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/offload/plugins-nextgen/level_zero/include/L0Device.h b/offload/plugins-nextgen/level_zero/include/L0Device.h
index ada7450302aaf..8f55d5abf889e 100644
--- a/offload/plugins-nextgen/level_zero/include/L0Device.h
+++ b/offload/plugins-nextgen/level_zero/include/L0Device.h
@@ -275,6 +275,8 @@ class L0DeviceTy final : public GenericDeviceTy {
   const std::string_view getName() const { return DeviceName; }
   const char *getNameCStr() const { return DeviceName.c_str(); }
 
+  const char *getArchCStr() const;
+
   const std::string_view getZeId() const { return zeId; }
   const char *getZeIdCStr() const { return zeId.c_str(); }
 
diff --git a/offload/plugins-nextgen/level_zero/src/L0Device.cpp b/offload/plugins-nextgen/level_zero/src/L0Device.cpp
index ef4672987c307..0eec6f2d523ee 100644
--- a/offload/plugins-nextgen/level_zero/src/L0Device.cpp
+++ b/offload/plugins-nextgen/level_zero/src/L0Device.cpp
@@ -537,6 +537,27 @@ Error L0DeviceTy::initAsyncInfoImpl(AsyncInfoWrapperTy &AsyncInfoWrapper) {
   return Plugin::success();
 }
 
+const char *L0DeviceTy::getArchCStr() const{
+  switch(getDeviceArch()){
+    case DeviceArchTy::DeviceArch_Gen:
+      return "Intel GPU Xe";
+    case DeviceArchTy::DeviceArch_XeLPG:
+      return "Intel GPU Xe LPG";
+    case DeviceArchTy::DeviceArch_XeHPC:
+      return "Intel GPU Xe HPC";
+    case DeviceArchTy::DeviceArch_XeHPG:
+      return "Intel GPU Xe HPG";
+    case DeviceArchTy::DeviceArch_Xe2LP:
+      return "Intel GPU Xe2 LP";
+    case DeviceArchTy::DeviceArch_Xe2HP:
+      return "Intel GPU Xe HP";
+    case DeviceArchTy::DeviceArch_x86_64:
+      return "Intel X86 64";
+    default:
+      return "Intel GPU Unknown";
+  }
+ }
+
 static const char *DriverVersionToStrTable[] = {
     "1.0", "1.1", "1.2", "1.3",  "1.4",  "1.5", "1.6",
     "1.7", "1.8", "1.9", "1.10", "1.11", "1.12"};
@@ -547,7 +568,7 @@ Expected<InfoTreeNode> L0DeviceTy::obtainInfoImpl() {
   InfoTreeNode Info;
   Info.add("Device Number", getDeviceId());
   Info.add("Device Name", getNameCStr(), "", DeviceInfo::NAME);
-  Info.add("Product Name", getNameCStr(), "", DeviceInfo::PRODUCT_NAME);
+  Info.add("Product Name", getArchCStr(), "", DeviceInfo::PRODUCT_NAME);
   Info.add("Device Type", "GPU", "", DeviceInfo::TYPE);
   Info.add("Vendor", "Intel", "", DeviceInfo::VENDOR);
   Info.add("Vendor ID", getVendorId(), "", DeviceInfo::VENDOR_ID);

>From fc57d492008970cdce4358a60813d730e73f0996 Mon Sep 17 00:00:00 2001
From: "Fine, Gregory" <gregory.fine at intel.com>
Date: Thu, 8 Jan 2026 14:01:08 -0800
Subject: [PATCH 3/3] Fix formatting

---
 .../level_zero/src/L0Device.cpp               | 38 +++++++++----------
 1 file changed, 19 insertions(+), 19 deletions(-)

diff --git a/offload/plugins-nextgen/level_zero/src/L0Device.cpp b/offload/plugins-nextgen/level_zero/src/L0Device.cpp
index 0eec6f2d523ee..edea6da0c9399 100644
--- a/offload/plugins-nextgen/level_zero/src/L0Device.cpp
+++ b/offload/plugins-nextgen/level_zero/src/L0Device.cpp
@@ -537,26 +537,26 @@ Error L0DeviceTy::initAsyncInfoImpl(AsyncInfoWrapperTy &AsyncInfoWrapper) {
   return Plugin::success();
 }
 
-const char *L0DeviceTy::getArchCStr() const{
-  switch(getDeviceArch()){
-    case DeviceArchTy::DeviceArch_Gen:
-      return "Intel GPU Xe";
-    case DeviceArchTy::DeviceArch_XeLPG:
-      return "Intel GPU Xe LPG";
-    case DeviceArchTy::DeviceArch_XeHPC:
-      return "Intel GPU Xe HPC";
-    case DeviceArchTy::DeviceArch_XeHPG:
-      return "Intel GPU Xe HPG";
-    case DeviceArchTy::DeviceArch_Xe2LP:
-      return "Intel GPU Xe2 LP";
-    case DeviceArchTy::DeviceArch_Xe2HP:
-      return "Intel GPU Xe HP";
-    case DeviceArchTy::DeviceArch_x86_64:
-      return "Intel X86 64";
-    default:
-      return "Intel GPU Unknown";
+const char *L0DeviceTy::getArchCStr() const {
+  switch (getDeviceArch()) {
+  case DeviceArchTy::DeviceArch_Gen:
+    return "Intel GPU Xe";
+  case DeviceArchTy::DeviceArch_XeLPG:
+    return "Intel GPU Xe LPG";
+  case DeviceArchTy::DeviceArch_XeHPC:
+    return "Intel GPU Xe HPC";
+  case DeviceArchTy::DeviceArch_XeHPG:
+    return "Intel GPU Xe HPG";
+  case DeviceArchTy::DeviceArch_Xe2LP:
+    return "Intel GPU Xe2 LP";
+  case DeviceArchTy::DeviceArch_Xe2HP:
+    return "Intel GPU Xe HP";
+  case DeviceArchTy::DeviceArch_x86_64:
+    return "Intel X86 64";
+  default:
+    return "Intel GPU Unknown";
   }
- }
+}
 
 static const char *DriverVersionToStrTable[] = {
     "1.0", "1.1", "1.2", "1.3",  "1.4",  "1.5", "1.6",



More information about the llvm-commits mailing list