[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