Skip to content

Commit 5cce004

Browse files
[NFC][SYCL] Speed up slow aspects by caching (#18603)
1 parent 65dfdac commit 5cce004

File tree

1 file changed

+30
-3
lines changed

1 file changed

+30
-3
lines changed

sycl/source/detail/device_impl.hpp

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2217,12 +2217,39 @@ class device_impl : public std::enable_shared_from_this<device_impl> {
22172217
mutable JointCache<
22182218
UREagerCache<UR_DEVICE_INFO_TYPE, UR_DEVICE_INFO_USE_NATIVE_ASSERT,
22192219
UR_DEVICE_INFO_EXTENSIONS>, //
2220-
URCallOnceCache<UR_DEVICE_INFO_NAME>, //
2221-
EagerCache<InfoInitializer>, //
2220+
URCallOnceCache<UR_DEVICE_INFO_NAME,
2221+
// USM:
2222+
UR_DEVICE_INFO_USM_DEVICE_SUPPORT,
2223+
UR_DEVICE_INFO_USM_HOST_SUPPORT,
2224+
UR_DEVICE_INFO_USM_SINGLE_SHARED_SUPPORT,
2225+
UR_DEVICE_INFO_USM_CROSS_SHARED_SUPPORT,
2226+
UR_DEVICE_INFO_USM_SYSTEM_SHARED_SUPPORT,
2227+
//
2228+
UR_DEVICE_INFO_ATOMIC_64>, //
2229+
EagerCache<InfoInitializer>, //
22222230
CallOnceCache<InfoInitializer,
22232231
ext::oneapi::experimental::info::device::architecture>, //
22242232
AspectCache<EagerCache, aspect::fp16, aspect::fp64,
2225-
aspect::int64_base_atomics, aspect::int64_extended_atomics>>
2233+
aspect::int64_base_atomics, aspect::int64_extended_atomics,
2234+
aspect::ext_oneapi_atomic16>,
2235+
AspectCache<
2236+
CallOnceCache,
2237+
// Slow, >100ns (for baseline cached ~30..40ns):
2238+
aspect::ext_intel_pci_address, aspect::ext_intel_gpu_eu_count,
2239+
aspect::ext_intel_free_memory, aspect::ext_intel_fan_speed,
2240+
aspect::ext_intel_power_limits,
2241+
// medium-slow, 60-90ns (for baseline cached ~30..40ns):
2242+
aspect::ext_intel_gpu_eu_simd_width, aspect::ext_intel_gpu_slices,
2243+
aspect::ext_intel_gpu_subslices_per_slice,
2244+
aspect::ext_intel_gpu_eu_count_per_subslice,
2245+
aspect::ext_intel_device_info_uuid,
2246+
aspect::ext_intel_gpu_hw_threads_per_eu,
2247+
aspect::ext_intel_memory_clock_rate,
2248+
aspect::ext_intel_memory_bus_width,
2249+
aspect::ext_oneapi_bindless_images,
2250+
aspect::ext_oneapi_bindless_images_1d_usm,
2251+
aspect::ext_oneapi_bindless_images_2d_usm,
2252+
aspect::ext_oneapi_is_composite, aspect::ext_oneapi_is_component>>
22262253
MCache;
22272254

22282255
}; // class device_impl

0 commit comments

Comments
 (0)