18 #ifdef __SYCL_INTERNAL_API
37 "platform::extensions is deprecated, use device::get_info() with"
101 "max_constant_buffer_size is deprecated") =
102 CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE,
104 CL_DEVICE_MAX_CONSTANT_ARGS,
117 CL_DEVICE_BUILT_IN_KERNELS,
119 name = CL_DEVICE_NAME,
120 vendor = CL_DEVICE_VENDOR,
126 "device::extensions is deprecated, use info::device::aspects"
127 " instead.") = CL_DEVICE_EXTENSIONS,
137 CL_DEVICE_IL_VERSION_KHR,
140 CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS,
185 custom = CL_DEVICE_TYPE_CUSTOM,
188 all = CL_DEVICE_TYPE_ALL
200 numa = CL_DEVICE_AFFINITY_DOMAIN_NUMA,
201 L4_cache = CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE,
202 L3_cache = CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE,
203 L2_cache = CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE,
204 L1_cache = CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE,
229 enum class queue : cl_command_queue_info {
240 #ifdef __SYCL_INTERNAL_API
241 program = CL_KERNEL_PROGRAM,
248 "kernel_work_group enumeration is deprecated, use SYCL 2020 requests"
249 "
instead") kernel_work_group : cl_kernel_work_group_info {
250 global_work_size = CL_KERNEL_GLOBAL_WORK_SIZE,
251 work_group_size = CL_KERNEL_WORK_GROUP_SIZE,
252 compile_work_group_size = CL_KERNEL_COMPILE_WORK_GROUP_SIZE,
253 preferred_work_group_size_multiple =
254 CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE,
255 private_mem_size = CL_KERNEL_PRIVATE_MEM_SIZE
270 CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE,
280 #ifdef __SYCL_INTERNAL_API
281 enum class program : cl_program_info {
283 devices = CL_PROGRAM_DEVICES,
284 reference_count = CL_PROGRAM_REFERENCE_COUNT
314 #define __SYCL_PARAM_TRAITS_SPEC(param_type, param, ret_type) \
315 template <> class param_traits<param_type, param_type::param> { \
317 using return_type = ret_type; \
320 #define __SYCL_PARAM_TRAITS_SPEC_WITH_INPUT(param_type, param, ret_type, \
322 template <> class param_traits<param_type, param_type::param> { \
324 using return_type = ret_type; \
325 using input_type = in_type; \
328 #include <CL/sycl/info/device_traits.def>
330 #include <CL/sycl/info/context_traits.def>
332 #include <CL/sycl/info/event_traits.def>
334 #include <CL/sycl/info/event_profiling_traits.def>
336 #include <CL/sycl/info/kernel_device_specific_traits.def>
337 #include <CL/sycl/info/kernel_sub_group_traits.def>
338 #include <CL/sycl/info/kernel_traits.def>
339 #include <CL/sycl/info/kernel_work_group_traits.def>
341 #include <CL/sycl/info/platform_traits.def>
343 #ifdef __SYCL_INTERNAL_API
344 #include <CL/sycl/info/program_traits.def>
347 #include <CL/sycl/info/queue_traits.def>
349 #undef __SYCL_PARAM_TRAITS_SPEC
350 #undef __SYCL_PARAM_TRAITS_SPEC_WITH_INPUT
352 #define __SYCL_PARAM_TRAITS_SPEC(param_type, param, ret_type) \
354 struct compatibility_param_traits<param_type, param_type::param> { \
355 static constexpr auto value = kernel_device_specific::param; \
358 #define __SYCL_PARAM_TRAITS_SPEC_WITH_INPUT(param_type, param, ret_type, \
361 struct compatibility_param_traits<param_type, param_type::param> { \
362 static constexpr auto value = kernel_device_specific::param; \
365 #include <CL/sycl/info/kernel_sub_group_traits.def>
366 #include <CL/sycl/info/kernel_work_group_traits.def>
368 #undef __SYCL_PARAM_TRAITS_SPEC
369 #undef __SYCL_PARAM_TRAITS_SPEC_WITH_INPUT