From 6b68096b04bd4323837a6fd29f68635b45c2f3d4 Mon Sep 17 00:00:00 2001 From: John Pennycook Date: Mon, 16 Dec 2024 10:18:26 +0000 Subject: [PATCH] [SYCL][Doc] Add slm_per_subslice query for Xe GPUs Extends sycl_ext_intel_device_info with a new query for the amount of SLM per subslice. The amount of SLM per subslice may be greater than the amount of memory available to a single work-group, and can be used to reason about occupancy. Signed-off-by: John Pennycook --- .../supported/sycl_ext_intel_device_info.md | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/sycl/doc/extensions/supported/sycl_ext_intel_device_info.md b/sycl/doc/extensions/supported/sycl_ext_intel_device_info.md index 7e62a781cdf0d..62a89eac0512c 100644 --- a/sycl/doc/extensions/supported/sycl_ext_intel_device_info.md +++ b/sycl/doc/extensions/supported/sycl_ext_intel_device_info.md @@ -19,6 +19,7 @@ The Feature Test Macro SYCL\_EXT\_INTEL\_DEVICE\_INFO will be defined as one of | 4 | Free device memory query is supported | | 5 | Device ID is supported | | 6 | Memory clock rate and bus width queries are supported | +| 7 | SLM per subslice is supported | @@ -505,6 +506,48 @@ Then the memory bus width can be obtained using the standard get\_info() interfa auto MemoryBusWidth = dev.get_info(); } +# Intel GPU SLM per Subslice # + +A new device descriptor will be added which will provide the amount of shared +local memory (SLM) per subslice on an Intel GPU. + +**Note:** The amount of SLM per subslice may be greater than the amount of +memory available to a single work-group, and can be used to reason about +occupancy. + + +## Version ## + +The extension supports this query in version 7 and later. + + +## Device Information Descriptors ## + +| Device Descriptors | Return Type | Description | +| ------------------ | ----------- | ----------- | +| ext\:\:intel\:\:info\:\:device\:\:gpu\_slm\_per\_subslice | uint64\_t| Returns the amount of SLM per subslice, in bytes. | + + +## Aspects ## + +A new aspect, ext\_intel\_gpu\_slm\_per\_subslice, will be added. + + +## Error Condition ## + +Throws a synchronous `exception` with the `errc::feature_not_supported` error +code if the device does not have `aspect::ext_intel_gpu_slm_per_subslice`. + +## Example Usage ## + +The amount of SLM per subslice can be obtained using the standard get\_info() +interface. + + if (dev.has(aspect::ext_intel_gpu_slm_per_subslice)) { + auto slmBytes = dev.get_info(); + } + + # Deprecated queries # The table below lists deprecated, that would soon be removed and their replacements: