Skip to content

Commit 199e8d5

Browse files
committed
[SYCL][DOC] Proposal to add number of HW threads per EU query
It follows https://spec.oneapi.io/level-zero/latest/core/api.html#ze-device-thread-t Also the patch removes several 'supported only on L0 disclaimers' since recently an OpenCL extension was released: https://github.com/KhronosGroup/OpenCL-Docs/blob/master/extensions/cl_intel_device_attribute_query.asciidoc Signed-off-by: Dmitry Sidorov <dmitry.sidorov@intel.com>
1 parent b43f03a commit 199e8d5

File tree

1 file changed

+33
-6
lines changed

1 file changed

+33
-6
lines changed

sycl/doc/extensions/IntelGPU/IntelGPUDeviceInfo.md

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ The Feature Test Macro SYCL\_EXT\_INTEL\_DEVICE\_INFO will be defined as one of
1515
| ----- | ----------- |
1616
| 1 | Initial extension version\. Base features are supported |
1717
| 2 | Device UUID is supported |
18+
| 3 | HW threads per EU device query is supported |
1819

1920

2021
# Device UUID #
@@ -177,8 +178,6 @@ Then the number of EUs can be obtained using the standard get\_info() interface.
177178

178179
A new device descriptor will be added which will provide the number of slices on an Intel GPU. If the device is a subdevice, then the number of slices in the subdevice is returned.
179180

180-
This new device descriptor is only available for devices in the Level Zero platform, and the matching aspect is only true for those devices. The DPC++ default behavior is to expose GPU devices through the Level Zero platform.
181-
182181

183182
## Version ##
184183

@@ -214,8 +213,6 @@ Then the number of slices can be obtained using the standard get\_info() interfa
214213

215214
A new device descriptor will be added which will provide the number of subslices per slice on an Intel GPU. If the device is a subdevice, then the number of subslices per slice in the subdevice is returned.
216215

217-
This new device descriptor is only available for devices in the Level Zero platform, and the matching aspect is only true for those devices. The DPC++ default behavior is to expose GPU devices through the Level Zero platform.
218-
219216

220217
## Version ##
221218

@@ -251,8 +248,6 @@ Then the number of subslices per slice can be obtained using the standard get\_i
251248

252249
A new device descriptor will be added which will provide the number of EUs per subslice on an Intel GPU. If the device is a subdevice, then the number of EUs per subslice in the subdevice is returned.
253250

254-
This new device descriptor is only available for devices in the Level Zero platform, and the matching aspect is only true for those devices. The DPC++ default behavior is to expose GPU devices through the Level Zero platform.
255-
256251

257252
## Version ##
258253

@@ -283,6 +278,38 @@ Then the number of EUs per subslice can be obtained using the standard get\_info
283278
auto euCount = dev.get_info<info::device::ext_intel_gpu_eu_count_per_subslice>();
284279
}
285280

281+
# Intel GPU Number of hardware threads per EU #
282+
283+
A new device descriptor will be added which will provide the number of hardware threads per EU on an Intel GPU. If the device is a subdevice, then the number of hardware threads per EU in the subdevice is returned.
284+
285+
286+
## Version ##
287+
288+
The extension supports this query in version 3 and later.
289+
290+
## Device Information Descriptors ##
291+
292+
| Device Descriptors | Return Type | Description |
293+
| ------------------ | ----------- | ----------- |
294+
| info\:\:device\:\:ext\_intel\_gpu\_hw\_threads\_per\_eu | uint32\_t| Returns the number of hardware threads in EU.|
295+
296+
297+
## Aspects ##
298+
299+
A new aspect, ext\_intel\_gpu\_hw\_threads\_per\_eu, will be added.
300+
301+
302+
## Error Condition ##
303+
304+
An invalid object runtime error will be thrown if the device does not support aspect\:\:ext\_intel\_gpu\_hw\_threads\_per\_eu.
305+
306+
## Example Usage ##
307+
308+
Then the number of hardware threads per EU can be obtained using the standard get\_info() interface.
309+
310+
if (dev.has(aspect::ext_intel_gpu_hw_threads_per_eu)) {
311+
auto threadsCount = dev.get_info<info::device::ext_intel_gpu_hw_threads_per_eu>();
312+
}
286313

287314
# Maximum Memory Bandwidth #
288315

0 commit comments

Comments
 (0)