Skip to content

Commit 33e7f73

Browse files
authored
[SYCL] Add new descriptors based on sycl_ext_intel_device_info extension (#17492)
Add device descriptors based on the extension update: #17386
1 parent b1d9368 commit 33e7f73

File tree

26 files changed

+789
-38
lines changed

26 files changed

+789
-38
lines changed

llvm/include/llvm/SYCLLowerIR/DeviceConfigFile.td

+8-1
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,10 @@ def AspectExt_oneapi_atomic16 : Aspect<"ext_oneapi_atomic16">;
8888
def AspectExt_oneapi_virtual_functions : Aspect<"ext_oneapi_virtual_functions">;
8989
def AspectExt_intel_spill_memory_size : Aspect<"ext_intel_spill_memory_size">;
9090
def AspectExt_oneapi_bindless_images_gather : Aspect<"ext_oneapi_bindless_images_gather">;
91+
def AspectExt_intel_current_clock_throttle_reasons : Aspect<"ext_intel_current_clock_throttle_reasons">;
92+
def AspectExt_intel_fan_speed : Aspect<"ext_intel_fan_speed">;
93+
def AspectExt_intel_power_limits : Aspect<"ext_intel_power_limits">;
94+
9195
// Deprecated aspects
9296
def AspectInt64_base_atomics : Aspect<"int64_base_atomics">;
9397
def AspectInt64_extended_atomics : Aspect<"int64_extended_atomics">;
@@ -154,7 +158,10 @@ def : TargetInfo<"__TestAspectList",
154158
AspectExt_intel_fpga_task_sequence,
155159
AspectExt_oneapi_atomic16,
156160
AspectExt_oneapi_virtual_functions,
157-
AspectExt_intel_spill_memory_size],
161+
AspectExt_intel_spill_memory_size,
162+
AspectExt_intel_current_clock_throttle_reasons,
163+
AspectExt_intel_fan_speed,
164+
AspectExt_intel_power_limits],
158165
[]>;
159166
// This definition serves the only purpose of testing whether the deprecated aspect list defined in here and in SYCL RT
160167
// match.

sycl/include/sycl/info/aspects.def

+4
Original file line numberDiff line numberDiff line change
@@ -74,3 +74,7 @@ __SYCL_ASPECT(ext_oneapi_atomic16, 80)
7474
__SYCL_ASPECT(ext_oneapi_virtual_functions, 81)
7575
__SYCL_ASPECT(ext_intel_spill_memory_size, 82)
7676
__SYCL_ASPECT(ext_oneapi_bindless_images_gather, 83)
77+
__SYCL_ASPECT(ext_intel_current_clock_throttle_reasons, 84)
78+
__SYCL_ASPECT(ext_intel_fan_speed, 85)
79+
__SYCL_ASPECT(ext_intel_power_limits, 86)
80+

sycl/include/sycl/info/ext_intel_device_traits.def

+4
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ __SYCL_PARAM_TRAITS_SPEC(ext::intel, device, memory_clock_rate, uint32_t, UR_DEV
1717
__SYCL_PARAM_TRAITS_SPEC(ext::intel, device, memory_bus_width, uint32_t, UR_DEVICE_INFO_MEMORY_BUS_WIDTH)
1818
__SYCL_PARAM_TRAITS_SPEC(ext::intel, device, max_compute_queue_indices, int32_t, UR_DEVICE_INFO_MAX_COMPUTE_QUEUE_INDICES)
1919
__SYCL_PARAM_TRAITS_SPEC(ext::intel::esimd, device, has_2d_block_io_support, bool, UR_DEVICE_INFO_2D_BLOCK_ARRAY_CAPABILITIES_EXP)
20+
__SYCL_PARAM_TRAITS_SPEC(ext::intel, device, current_clock_throttle_reasons, std::vector<ext::intel::throttle_reason>, UR_DEVICE_INFO_CURRENT_CLOCK_THROTTLE_REASONS)
21+
__SYCL_PARAM_TRAITS_SPEC(ext::intel, device, fan_speed, int32_t, UR_DEVICE_INFO_FAN_SPEED)
22+
__SYCL_PARAM_TRAITS_SPEC(ext::intel, device, min_power_limit, int32_t, UR_DEVICE_INFO_MIN_POWER_LIMIT)
23+
__SYCL_PARAM_TRAITS_SPEC(ext::intel, device, max_power_limit, int32_t, UR_DEVICE_INFO_MAX_POWER_LIMIT)
2024
#ifdef __SYCL_PARAM_TRAITS_TEMPLATE_SPEC_NEEDS_UNDEF
2125
#undef __SYCL_PARAM_TRAITS_TEMPLATE_SPEC
2226
#undef __SYCL_PARAM_TRAITS_TEMPLATE_SPEC_NEEDS_UNDEF

sycl/include/sycl/info/info_desc.hpp

+13
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,19 @@ template <ext::oneapi::experimental::execution_scope CoordinationScope>
259259
struct work_item_progress_capabilities;
260260

261261
} // namespace ext::oneapi::experimental::info::device
262+
263+
namespace ext::intel {
264+
enum class throttle_reason {
265+
power_cap,
266+
current_limit,
267+
thermal_limit,
268+
psu_alert,
269+
sw_range,
270+
hw_range,
271+
other
272+
};
273+
} // namespace ext::intel
274+
262275
#include <sycl/info/ext_codeplay_device_traits.def>
263276
#include <sycl/info/ext_intel_device_traits.def>
264277
#include <sycl/info/ext_intel_kernel_info_traits.def>

sycl/source/detail/device_impl.cpp

+15
Original file line numberDiff line numberDiff line change
@@ -476,6 +476,21 @@ bool device_impl::has(aspect Aspect) const {
476476
case aspect::ext_intel_max_mem_bandwidth:
477477
// currently not supported
478478
return false;
479+
case aspect::ext_intel_current_clock_throttle_reasons:
480+
return getAdapter()->call_nocheck<UrApiKind::urDeviceGetInfo>(
481+
MDevice, UR_DEVICE_INFO_CURRENT_CLOCK_THROTTLE_REASONS, 0,
482+
nullptr, &return_size) == UR_RESULT_SUCCESS;
483+
case aspect::ext_intel_fan_speed:
484+
return getAdapter()->call_nocheck<UrApiKind::urDeviceGetInfo>(
485+
MDevice, UR_DEVICE_INFO_FAN_SPEED, 0, nullptr, &return_size) ==
486+
UR_RESULT_SUCCESS;
487+
case aspect::ext_intel_power_limits:
488+
return (getAdapter()->call_nocheck<UrApiKind::urDeviceGetInfo>(
489+
MDevice, UR_DEVICE_INFO_MIN_POWER_LIMIT, 0, nullptr,
490+
&return_size) == UR_RESULT_SUCCESS) &&
491+
(getAdapter()->call_nocheck<UrApiKind::urDeviceGetInfo>(
492+
MDevice, UR_DEVICE_INFO_MAX_POWER_LIMIT, 0, nullptr,
493+
&return_size) == UR_RESULT_SUCCESS);
479494
case aspect::ext_oneapi_srgb:
480495
return get_info<info::device::ext_oneapi_srgb>();
481496
case aspect::ext_oneapi_native_assert:

sycl/source/detail/device_info.hpp

+75
Original file line numberDiff line numberDiff line change
@@ -1637,6 +1637,81 @@ get_device_info<ext::intel::esimd::info::device::has_2d_block_io_support>(
16371637
UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE);
16381638
}
16391639

1640+
template <>
1641+
inline ext::intel::info::device::current_clock_throttle_reasons::return_type
1642+
get_device_info<ext::intel::info::device::current_clock_throttle_reasons>(
1643+
const DeviceImplPtr &Dev) {
1644+
if (!Dev->has(aspect::ext_intel_current_clock_throttle_reasons))
1645+
throw exception(make_error_code(errc::feature_not_supported),
1646+
"The device does not have the "
1647+
"ext_intel_current_clock_throttle_reasons aspect");
1648+
1649+
ur_device_throttle_reasons_flags_t UrThrottleReasons;
1650+
Dev->getAdapter()->call<UrApiKind::urDeviceGetInfo>(
1651+
Dev->getHandleRef(),
1652+
UrInfoCode<
1653+
ext::intel::info::device::current_clock_throttle_reasons>::value,
1654+
sizeof(UrThrottleReasons), &UrThrottleReasons, nullptr);
1655+
std::vector<ext::intel::throttle_reason> ThrottleReasons;
1656+
constexpr std::pair<ur_device_throttle_reasons_flags_t,
1657+
ext::intel::throttle_reason>
1658+
UR2SYCLMappings[] = {{UR_DEVICE_THROTTLE_REASONS_FLAG_POWER_CAP,
1659+
ext::intel::throttle_reason::power_cap},
1660+
{UR_DEVICE_THROTTLE_REASONS_FLAG_CURRENT_LIMIT,
1661+
ext::intel::throttle_reason::current_limit},
1662+
{UR_DEVICE_THROTTLE_REASONS_FLAG_THERMAL_LIMIT,
1663+
ext::intel::throttle_reason::thermal_limit},
1664+
{UR_DEVICE_THROTTLE_REASONS_FLAG_PSU_ALERT,
1665+
ext::intel::throttle_reason::psu_alert},
1666+
{UR_DEVICE_THROTTLE_REASONS_FLAG_SW_RANGE,
1667+
ext::intel::throttle_reason::sw_range},
1668+
{UR_DEVICE_THROTTLE_REASONS_FLAG_HW_RANGE,
1669+
ext::intel::throttle_reason::hw_range},
1670+
{UR_DEVICE_THROTTLE_REASONS_FLAG_OTHER,
1671+
ext::intel::throttle_reason::other}};
1672+
1673+
for (const auto &[UrFlag, SyclReason] : UR2SYCLMappings) {
1674+
if (UrThrottleReasons & UrFlag) {
1675+
ThrottleReasons.push_back(SyclReason);
1676+
}
1677+
}
1678+
return ThrottleReasons;
1679+
}
1680+
1681+
template <>
1682+
inline ext::intel::info::device::fan_speed::return_type
1683+
get_device_info<ext::intel::info::device::fan_speed>(const DeviceImplPtr &Dev) {
1684+
if (!Dev->has(aspect::ext_intel_fan_speed))
1685+
throw exception(make_error_code(errc::feature_not_supported),
1686+
"The device does not have the ext_intel_fan_speed aspect");
1687+
using Param = ext::intel::info::device::fan_speed;
1688+
return get_device_info_impl<Param::return_type, Param>::get(Dev);
1689+
}
1690+
1691+
template <>
1692+
inline ext::intel::info::device::max_power_limit::return_type
1693+
get_device_info<ext::intel::info::device::max_power_limit>(
1694+
const DeviceImplPtr &Dev) {
1695+
if (!Dev->has(aspect::ext_intel_power_limits))
1696+
throw exception(
1697+
make_error_code(errc::feature_not_supported),
1698+
"The device does not have the ext_intel_power_limits aspect");
1699+
using Param = ext::intel::info::device::max_power_limit;
1700+
return get_device_info_impl<Param::return_type, Param>::get(Dev);
1701+
}
1702+
1703+
template <>
1704+
inline ext::intel::info::device::min_power_limit::return_type
1705+
get_device_info<ext::intel::info::device::min_power_limit>(
1706+
const DeviceImplPtr &Dev) {
1707+
if (!Dev->has(aspect::ext_intel_power_limits))
1708+
throw exception(
1709+
make_error_code(errc::feature_not_supported),
1710+
"The device does not have the ext_intel_power_limits aspect");
1711+
using Param = ext::intel::info::device::min_power_limit;
1712+
return get_device_info_impl<Param::return_type, Param>::get(Dev);
1713+
}
1714+
16401715
// Returns the list of all progress guarantees that can be requested for
16411716
// work_groups from the coordination level of root_group when using the device
16421717
// given by Dev. First it calls getProgressGuarantee to get the strongest

sycl/test/abi/sycl_symbols_linux.dump

+8
Original file line numberDiff line numberDiff line change
@@ -3684,6 +3684,8 @@ _ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext5intel4info6device10gpu_slice
36843684
_ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext5intel4info6device11free_memoryEEENT_11return_typeEv
36853685
_ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext5intel4info6device11pci_addressEEENT_11return_typeEv
36863686
_ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext5intel4info6device12gpu_eu_countEEENT_11return_typeEv
3687+
_ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext5intel4info6device15max_power_limitEEENT_11return_typeEv
3688+
_ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext5intel4info6device15min_power_limitEEENT_11return_typeEv
36873689
_ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext5intel4info6device16memory_bus_widthEEENT_11return_typeEv
36883690
_ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext5intel4info6device17gpu_eu_simd_widthEEENT_11return_typeEv
36893691
_ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext5intel4info6device17max_mem_bandwidthEEENT_11return_typeEv
@@ -3692,8 +3694,10 @@ _ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext5intel4info6device21gpu_hw_th
36923694
_ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext5intel4info6device23gpu_subslices_per_sliceEEENT_11return_typeEv
36933695
_ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext5intel4info6device25gpu_eu_count_per_subsliceEEENT_11return_typeEv
36943696
_ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext5intel4info6device25max_compute_queue_indicesEEENT_11return_typeEv
3697+
_ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext5intel4info6device30current_clock_throttle_reasonsEEENT_11return_typeEv
36953698
_ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext5intel4info6device4uuidEEENT_11return_typeEv
36963699
_ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext5intel4info6device9device_idEEENT_11return_typeEv
3700+
_ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext5intel4info6device9fan_speedEEENT_11return_typeEv
36973701
_ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext5intel5esimd4info6device23has_2d_block_io_supportEEENT_11return_typeEv
36983702
_ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext6oneapi12experimental4info6device12architectureEEENT_11return_typeEv
36993703
_ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext6oneapi12experimental4info6device15max_work_groupsILi1EEEEENT_11return_typeEv
@@ -3794,6 +3798,8 @@ _ZNK4sycl3_V16device13get_info_implINS0_3ext5intel4info6device10gpu_slicesEEENS0
37943798
_ZNK4sycl3_V16device13get_info_implINS0_3ext5intel4info6device11free_memoryEEENS0_6detail11ABINeutralTINS8_19is_device_info_descIT_E11return_typeEE4typeEv
37953799
_ZNK4sycl3_V16device13get_info_implINS0_3ext5intel4info6device11pci_addressEEENS0_6detail11ABINeutralTINS8_19is_device_info_descIT_E11return_typeEE4typeEv
37963800
_ZNK4sycl3_V16device13get_info_implINS0_3ext5intel4info6device12gpu_eu_countEEENS0_6detail11ABINeutralTINS8_19is_device_info_descIT_E11return_typeEE4typeEv
3801+
_ZNK4sycl3_V16device13get_info_implINS0_3ext5intel4info6device15max_power_limitEEENS0_6detail11ABINeutralTINS8_19is_device_info_descIT_E11return_typeEE4typeEv
3802+
_ZNK4sycl3_V16device13get_info_implINS0_3ext5intel4info6device15min_power_limitEEENS0_6detail11ABINeutralTINS8_19is_device_info_descIT_E11return_typeEE4typeEv
37973803
_ZNK4sycl3_V16device13get_info_implINS0_3ext5intel4info6device16memory_bus_widthEEENS0_6detail11ABINeutralTINS8_19is_device_info_descIT_E11return_typeEE4typeEv
37983804
_ZNK4sycl3_V16device13get_info_implINS0_3ext5intel4info6device17gpu_eu_simd_widthEEENS0_6detail11ABINeutralTINS8_19is_device_info_descIT_E11return_typeEE4typeEv
37993805
_ZNK4sycl3_V16device13get_info_implINS0_3ext5intel4info6device17max_mem_bandwidthEEENS0_6detail11ABINeutralTINS8_19is_device_info_descIT_E11return_typeEE4typeEv
@@ -3802,8 +3808,10 @@ _ZNK4sycl3_V16device13get_info_implINS0_3ext5intel4info6device21gpu_hw_threads_p
38023808
_ZNK4sycl3_V16device13get_info_implINS0_3ext5intel4info6device23gpu_subslices_per_sliceEEENS0_6detail11ABINeutralTINS8_19is_device_info_descIT_E11return_typeEE4typeEv
38033809
_ZNK4sycl3_V16device13get_info_implINS0_3ext5intel4info6device25gpu_eu_count_per_subsliceEEENS0_6detail11ABINeutralTINS8_19is_device_info_descIT_E11return_typeEE4typeEv
38043810
_ZNK4sycl3_V16device13get_info_implINS0_3ext5intel4info6device25max_compute_queue_indicesEEENS0_6detail11ABINeutralTINS8_19is_device_info_descIT_E11return_typeEE4typeEv
3811+
_ZNK4sycl3_V16device13get_info_implINS0_3ext5intel4info6device30current_clock_throttle_reasonsEEENS0_6detail11ABINeutralTINS8_19is_device_info_descIT_E11return_typeEE4typeEv
38053812
_ZNK4sycl3_V16device13get_info_implINS0_3ext5intel4info6device4uuidEEENS0_6detail11ABINeutralTINS8_19is_device_info_descIT_E11return_typeEE4typeEv
38063813
_ZNK4sycl3_V16device13get_info_implINS0_3ext5intel4info6device9device_idEEENS0_6detail11ABINeutralTINS8_19is_device_info_descIT_E11return_typeEE4typeEv
3814+
_ZNK4sycl3_V16device13get_info_implINS0_3ext5intel4info6device9fan_speedEEENS0_6detail11ABINeutralTINS8_19is_device_info_descIT_E11return_typeEE4typeEv
38073815
_ZNK4sycl3_V16device13get_info_implINS0_3ext5intel5esimd4info6device23has_2d_block_io_supportEEENS0_6detail11ABINeutralTINS9_19is_device_info_descIT_E11return_typeEE4typeEv
38083816
_ZNK4sycl3_V16device13get_info_implINS0_3ext6oneapi12experimental4info6device12architectureEEENS0_6detail11ABINeutralTINS9_19is_device_info_descIT_E11return_typeEE4typeEv
38093817
_ZNK4sycl3_V16device13get_info_implINS0_3ext6oneapi12experimental4info6device15max_work_groupsILi1EEEEENS0_6detail11ABINeutralTINSA_19is_device_info_descIT_E11return_typeEE4typeEv

sycl/test/abi/sycl_symbols_windows.dump

+8
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,12 @@
6565
??$get_info@Ucomponent_devices@device@info@experimental@oneapi@ext@_V1@sycl@@@device_impl@detail@_V1@sycl@@QEBA?AV?$vector@Vdevice@_V1@sycl@@V?$allocator@Vdevice@_V1@sycl@@@std@@@std@@XZ
6666
??$get_info@Ucomposite_device@device@info@experimental@oneapi@ext@_V1@sycl@@@device_impl@detail@_V1@sycl@@QEBA?AVdevice@23@XZ
6767
??$get_info@Ucontext@queue@info@_V1@sycl@@@queue@_V1@sycl@@QEBA?AVcontext@12@XZ
68+
??$get_info@Ucurrent_clock_throttle_reasons@device@info@intel@ext@_V1@sycl@@@device_impl@detail@_V1@sycl@@QEBA?AV?$vector@W4throttle_reason@intel@ext@_V1@sycl@@V?$allocator@W4throttle_reason@intel@ext@_V1@sycl@@@std@@@std@@XZ
6869
??$get_info@Udevice@queue@info@_V1@sycl@@@queue@_V1@sycl@@QEBA?AVdevice@12@XZ
6970
??$get_info@Udevice_id@device@info@intel@ext@_V1@sycl@@@device_impl@detail@_V1@sycl@@QEBAIXZ
7071
??$get_info@Udevices@context@info@_V1@sycl@@@context@_V1@sycl@@QEBA?AV?$vector@Vdevice@_V1@sycl@@V?$allocator@Vdevice@_V1@sycl@@@std@@@std@@XZ
7172
??$get_info@Uext_codeplay_num_regs@kernel_device_specific@info@_V1@sycl@@@kernel@_V1@sycl@@QEBAIAEBVdevice@12@@Z
73+
??$get_info@Ufan_speed@device@info@intel@ext@_V1@sycl@@@device_impl@detail@_V1@sycl@@QEBAHXZ
7274
??$get_info@Ufree_memory@device@info@intel@ext@_V1@sycl@@@device_impl@detail@_V1@sycl@@QEBA_KXZ
7375
??$get_info@Uglobal_work_size@kernel_device_specific@info@_V1@sycl@@@kernel@_V1@sycl@@QEBA?AV?$range@$02@12@AEBVdevice@12@@Z
7476
??$get_info@Ugpu_eu_count@device@info@intel@ext@_V1@sycl@@@device_impl@detail@_V1@sycl@@QEBAIXZ
@@ -87,11 +89,13 @@
8789
??$get_info@Umax_image_linear_width@device@info@experimental@oneapi@ext@_V1@sycl@@@device_impl@detail@_V1@sycl@@QEBA_KXZ
8890
??$get_info@Umax_mem_bandwidth@device@info@intel@ext@_V1@sycl@@@device_impl@detail@_V1@sycl@@QEBA_KXZ
8991
??$get_info@Umax_num_sub_groups@kernel_device_specific@info@_V1@sycl@@@kernel@_V1@sycl@@QEBAIAEBVdevice@12@@Z
92+
??$get_info@Umax_power_limit@device@info@intel@ext@_V1@sycl@@@device_impl@detail@_V1@sycl@@QEBAHXZ
9093
??$get_info@Umax_registers_per_work_group@device@info@experimental@codeplay@ext@_V1@sycl@@@device_impl@detail@_V1@sycl@@QEBAIXZ
9194
??$get_info@Umax_sub_group_size@kernel_device_specific@info@_V1@sycl@@@kernel@_V1@sycl@@QEBAIAEBVdevice@12@@Z
9295
??$get_info@Umax_sub_group_size@kernel_device_specific@info@_V1@sycl@@@kernel@_V1@sycl@@QEBAIAEBVdevice@12@AEBV?$range@$02@12@@Z
9396
??$get_info@Umemory_bus_width@device@info@intel@ext@_V1@sycl@@@device_impl@detail@_V1@sycl@@QEBAIXZ
9497
??$get_info@Umemory_clock_rate@device@info@intel@ext@_V1@sycl@@@device_impl@detail@_V1@sycl@@QEBAIXZ
98+
??$get_info@Umin_power_limit@device@info@intel@ext@_V1@sycl@@@device_impl@detail@_V1@sycl@@QEBAHXZ
9599
??$get_info@Umipmap_max_anisotropy@device@info@experimental@oneapi@ext@_V1@sycl@@@device_impl@detail@_V1@sycl@@QEBAMXZ
96100
??$get_info@Unum_compute_units@device@info@oneapi@ext@_V1@sycl@@@device_impl@detail@_V1@sycl@@QEBA_KXZ
97101
??$get_info@Upci_address@device@info@intel@ext@_V1@sycl@@@device_impl@detail@_V1@sycl@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ
@@ -132,6 +136,7 @@
132136
??$get_info_impl@Ucomponent_devices@device@info@experimental@oneapi@ext@_V1@sycl@@@device@_V1@sycl@@AEBA?AV?$vector@Vdevice@_V1@sycl@@V?$allocator@Vdevice@_V1@sycl@@@std@@@std@@XZ
133137
??$get_info_impl@Ucomposite_device@device@info@experimental@oneapi@ext@_V1@sycl@@@device@_V1@sycl@@AEBA?AV012@XZ
134138
??$get_info_impl@Ucontext@kernel@info@_V1@sycl@@@kernel@_V1@sycl@@AEBA?AVcontext@12@XZ
139+
??$get_info_impl@Ucurrent_clock_throttle_reasons@device@info@intel@ext@_V1@sycl@@@device@_V1@sycl@@AEBA?AV?$vector@W4throttle_reason@intel@ext@_V1@sycl@@V?$allocator@W4throttle_reason@intel@ext@_V1@sycl@@@std@@@std@@XZ
135140
??$get_info_impl@Udevice_id@device@info@intel@ext@_V1@sycl@@@device@_V1@sycl@@AEBAIXZ
136141
??$get_info_impl@Udevice_type@device@info@_V1@sycl@@@device@_V1@sycl@@AEBA?AW4device_type@info@12@XZ
137142
??$get_info_impl@Udouble_fp_config@device@info@_V1@sycl@@@device@_V1@sycl@@AEBA?AV?$vector@W4fp_config@info@_V1@sycl@@V?$allocator@W4fp_config@info@_V1@sycl@@@std@@@std@@XZ
@@ -156,6 +161,7 @@
156161
??$get_info_impl@Uext_oneapi_srgb@device@info@_V1@sycl@@@device@_V1@sycl@@AEBA_NXZ
157162
??$get_info_impl@Uextensions@device@info@_V1@sycl@@@device@_V1@sycl@@AEBA?AV?$vector@Vstring@detail@_V1@sycl@@V?$allocator@Vstring@detail@_V1@sycl@@@std@@@std@@XZ
158163
??$get_info_impl@Uextensions@platform@info@_V1@sycl@@@platform@_V1@sycl@@AEBA?AV?$vector@Vstring@detail@_V1@sycl@@V?$allocator@Vstring@detail@_V1@sycl@@@std@@@std@@XZ
164+
??$get_info_impl@Ufan_speed@device@info@intel@ext@_V1@sycl@@@device@_V1@sycl@@AEBAHXZ
159165
??$get_info_impl@Ufree_memory@device@info@intel@ext@_V1@sycl@@@device@_V1@sycl@@AEBA_KXZ
160166
??$get_info_impl@Ufunction_name@kernel@info@_V1@sycl@@@kernel@_V1@sycl@@AEBA?AVstring@detail@12@XZ
161167
??$get_info_impl@Uglobal_mem_cache_line_size@device@info@_V1@sycl@@@device@_V1@sycl@@AEBAIXZ
@@ -201,6 +207,7 @@
201207
??$get_info_impl@Umax_mem_bandwidth@device@info@intel@ext@_V1@sycl@@@device@_V1@sycl@@AEBA_KXZ
202208
??$get_info_impl@Umax_num_sub_groups@device@info@_V1@sycl@@@device@_V1@sycl@@AEBAIXZ
203209
??$get_info_impl@Umax_parameter_size@device@info@_V1@sycl@@@device@_V1@sycl@@AEBA_KXZ
210+
??$get_info_impl@Umax_power_limit@device@info@intel@ext@_V1@sycl@@@device@_V1@sycl@@AEBAHXZ
204211
??$get_info_impl@Umax_read_image_args@device@info@_V1@sycl@@@device@_V1@sycl@@AEBAIXZ
205212
??$get_info_impl@Umax_registers_per_work_group@device@info@experimental@codeplay@ext@_V1@sycl@@@device@_V1@sycl@@AEBAIXZ
206213
??$get_info_impl@Umax_samplers@device@info@_V1@sycl@@@device@_V1@sycl@@AEBAIXZ
@@ -210,6 +217,7 @@
210217
??$get_info_impl@Umem_base_addr_align@device@info@_V1@sycl@@@device@_V1@sycl@@AEBAIXZ
211218
??$get_info_impl@Umemory_bus_width@device@info@intel@ext@_V1@sycl@@@device@_V1@sycl@@AEBAIXZ
212219
??$get_info_impl@Umemory_clock_rate@device@info@intel@ext@_V1@sycl@@@device@_V1@sycl@@AEBAIXZ
220+
??$get_info_impl@Umin_power_limit@device@info@intel@ext@_V1@sycl@@@device@_V1@sycl@@AEBAHXZ
213221
??$get_info_impl@Umipmap_max_anisotropy@device@info@experimental@oneapi@ext@_V1@sycl@@@device@_V1@sycl@@AEBAMXZ
214222
??$get_info_impl@Uname@device@info@_V1@sycl@@@device@_V1@sycl@@AEBA?AVstring@detail@12@XZ
215223
??$get_info_impl@Uname@platform@info@_V1@sycl@@@platform@_V1@sycl@@AEBA?AVstring@detail@12@XZ

sycl/unittests/Extensions/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ add_sycl_unittest(ExtensionsTests OBJECT
2121
BFloat16.cpp
2222
LaunchQueries.cpp
2323
EventMode.cpp
24+
DeviceInfo.cpp
2425
)
2526

2627
add_subdirectory(CommandGraph)

0 commit comments

Comments
 (0)