You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[SYCL] Make intel specific device info descriptors namespace qualified (#6639)
Conforming to SYCL 2020 specification section 6.3.1 and 4.6.4.2, to make
extension information descriptors templated and within the correct
namespace.
-Also moved deprecated info descriptors for device into separate file
-Changed namespace of the recently added [device memory
extension](#6604) to
ext::intel::info::device
Signed-off-by: Rauf, Rana <[email protected]>
Co-authored-by: Steffen Larsen <[email protected]>
| info::device::ext_oneapi_max_work_groups_1d| id<1> | Returns the maximum number of work-groups that can be submitted in each dimension of the `globalSize` of a `nd_range<1>`. The minimum value is `(1)` if the device is different than `info::device_type::custom`. |
25
-
| info::device::ext_oneapi_max_work_groups_2d| id<2> | Returns the maximum number of work-groups that can be submitted in each dimension of the `globalSize` of a `nd_range<2>`. The minimum value is `(1, 1)` if the device is different than `info::device_type::custom`. |
26
-
| info::device::ext_oneapi_max_work_groups_3d| id<3> | Returns the maximum number of work-groups that can be submitted in each dimension of the `globalSize` of a `nd_range<3>`. The minimum value is `(1, 1, 1)` if the device is different than `info::device_type::custom`. |
27
-
| info::device::ext_oneapi_max_global_work_groups| size_t | Returns the maximum number of work-groups that can be submitted across all the dimensions. The minimum value is `1`. |
24
+
|ext::oneapi::experimental::info::device::max_work_groups<1>| id<1> | Returns the maximum number of work-groups that can be submitted in each dimension of the `globalSize` of a `nd_range<1>`. The minimum value is `(1)` if the device is different than `info::device_type::custom`. |
25
+
|ext::oneapi::experimental::info::device::max_work_groups<2>| id<2> | Returns the maximum number of work-groups that can be submitted in each dimension of the `globalSize` of a `nd_range<2>`. The minimum value is `(1, 1)` if the device is different than `info::device_type::custom`. |
26
+
|ext::oneapi::experimental::info::device::max_work_groups<3>| id<3> | Returns the maximum number of work-groups that can be submitted in each dimension of the `globalSize` of a `nd_range<3>`. The minimum value is `(1, 1, 1)` if the device is different than `info::device_type::custom`. |
27
+
|ext::oneapi::experimental::info::device::max_global_work_groups| size_t | Returns the maximum number of work-groups that can be submitted across all the dimensions. The minimum value is `1`. |
28
28
29
29
### Note
30
30
31
31
- The returned values have the same ordering as the `nd_range` arguments.
32
-
- The implementation does not guarantee that the user could select all the maximum numbers returned by `ext_oneapi_max_work_groups` at the same time. Thus the user should also check that the selected number of work-groups across all dimensions is smaller than the maximum global number returned by `ext_oneapi_max_global_work_groups`.
32
+
- The implementation does not guarantee that the user could select all the maximum numbers returned by `max_work_groups` at the same time. Thus the user should also check that the selected number of work-groups across all dimensions is smaller than the maximum global number returned by `max_global_work_groups`.
Right now, DPC++ does not support templated device descriptors as they are defined in the SYCL specification section 4.6.4.2 "Device information descriptors". When the implementation supports this syntax, `ext_oneapi_max_work_groups_[1,2,3]d` should be replaced by the templated syntax: `ext_oneapi_max_work_groups<[1,2,3]>`.
83
+
## Implementation
84
+
77
85
### Consistency with existing checks
78
86
79
87
The implementation already checks when enqueuing a kernel that the global and per dimension work-group number is smaller than `std::numeric_limits<int>::max`. This check is implemented in `sycl/include/sycl/handler.hpp`. For consistency, values returned by the two device descriptors are bound by this limit.
|info\:\:device\:\:ext\_intel\_pci\_address | std\:\:string | For Level Zero BE, returns the PCI address in BDF format: `domain:bus:device.function`.|
78
+
|ext\:\:intel\:\:info\:\:device\:\:pci\_address | std\:\:string | For Level Zero BE, returns the PCI address in BDF format: `domain:bus:device.function`.|
79
79
80
80
81
81
## Aspects ##
@@ -92,7 +92,7 @@ An invalid object runtime error will be thrown if the device does not support as
92
92
The PCI address can be obtained using the standard get\_info() interface.
93
93
94
94
if (dev.has(aspect::ext_intel_pci_address)) {
95
-
auto BDF = dev.get_info<info::device::ext_intel_pci_address>();
95
+
auto BDF = dev.get_info<ext::intel::info::device::pci_address>();
96
96
}
97
97
98
98
@@ -113,7 +113,7 @@ All versions of the extension support this query.
113
113
114
114
| Device Descriptors | Return Type | Description |
0 commit comments