From 5e4b1f647cb8d57616c1676822e9b4ce0a6bd6bd Mon Sep 17 00:00:00 2001 From: Szymon Zadworny Date: Mon, 24 Aug 2026 10:10:32 +0000 Subject: [PATCH 1/3] Add ExtOneapiIsIntegratedGpu aspect binding --- sycl/sycl-rs-sys/src/device.cpp | 2 ++ sycl/sycl-rs-sys/src/types-sys.rs | 1 + 2 files changed, 3 insertions(+) diff --git a/sycl/sycl-rs-sys/src/device.cpp b/sycl/sycl-rs-sys/src/device.cpp index 8d42eef..5166bbf 100644 --- a/sycl/sycl-rs-sys/src/device.cpp +++ b/sycl/sycl-rs-sys/src/device.cpp @@ -45,6 +45,8 @@ bool has(Device const &device, Aspect aspect) { switch (aspect) { case Aspect::ExtIntelPciAddress: return device.has(sycl::aspect::ext_intel_pci_address); + case Aspect::ExtOneapiIsIntegratedGpu: + return device.has(sycl::aspect::ext_oneapi_is_integrated_gpu); } return false; diff --git a/sycl/sycl-rs-sys/src/types-sys.rs b/sycl/sycl-rs-sys/src/types-sys.rs index 17899e3..b5be579 100644 --- a/sycl/sycl-rs-sys/src/types-sys.rs +++ b/sycl/sycl-rs-sys/src/types-sys.rs @@ -57,6 +57,7 @@ pub mod ffi { #[derive(Debug, Hash)] enum Aspect { ExtIntelPciAddress, + ExtOneapiIsIntegratedGpu, } #[derive(Debug, Hash)] From 1f7582bd138564eda72952b3e05430daa278b6ba Mon Sep 17 00:00:00 2001 From: Szymon Zadworny Date: Mon, 24 Aug 2026 10:48:06 +0000 Subject: [PATCH 2/3] Add Aspect documentation --- sycl/sycl-rs-sys/src/types-sys.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sycl/sycl-rs-sys/src/types-sys.rs b/sycl/sycl-rs-sys/src/types-sys.rs index b5be579..2bbdb6f 100644 --- a/sycl/sycl-rs-sys/src/types-sys.rs +++ b/sycl/sycl-rs-sys/src/types-sys.rs @@ -56,7 +56,9 @@ pub mod ffi { #[derive(Debug, Hash)] enum Aspect { + /// Indicates that the device supports the `PciBdfAddress` information descriptor. ExtIntelPciAddress, + /// Indicates that the implementation identifies this device as integrated GPU. ExtOneapiIsIntegratedGpu, } From 784ea6827f823695bc8f91ccdd567fdd8b3d1297 Mon Sep 17 00:00:00 2001 From: Szymon Zadworny Date: Mon, 24 Aug 2026 13:10:21 +0000 Subject: [PATCH 3/3] Update sycl-ls example --- sycl/sycl-rs/examples/sycl-ls.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/sycl/sycl-rs/examples/sycl-ls.rs b/sycl/sycl-rs/examples/sycl-ls.rs index b12b78f..8a3721e 100644 --- a/sycl/sycl-rs/examples/sycl-ls.rs +++ b/sycl/sycl-rs/examples/sycl-ls.rs @@ -16,15 +16,22 @@ fn main() { let device_name = device.get_info::(); let device_version = device.get_info::(); let platform_version = platform.get_info::(); + let pci_bdf_address = if device.has(Aspect::ExtIntelPciAddress) { device.get_info::() } else { String::from("N/A") }; + let integrated_status = if device.has(Aspect::ExtOneapiIsIntegratedGpu) { + "Integrated " + } else { + "" + }; + println!( - "[{device_type:?}] {platform_name}, {device_name} {device_version} \ - PCI:{pci_bdf_address} [{platform_version}]" + "[{integrated_status}{device_type:?}] {platform_name}, {device_name} \ + {device_version} PCI:{pci_bdf_address} [{platform_version}]" ); } }