@@ -28,22 +28,23 @@ device_impl::device_impl(ur_device_handle_t Device, platform_impl &Platform,
2828 const AdapterPtr &Adapter = Platform.getAdapter ();
2929
3030 // TODO catch an exception and put it to list of asynchronous exceptions
31- MType = get_info_impl<ur_device_type_t >(UR_DEVICE_INFO_TYPE );
31+ MType = get_info_impl<ur_device_type_t , UR_DEVICE_INFO_TYPE>( );
3232
3333 // No need to set MRootDevice when MAlwaysRootDevice is true
3434 // TODO: Is get_info aligned with this?
3535 if (!Platform.MAlwaysRootDevice ) {
3636 // TODO catch an exception and put it to list of asynchronous exceptions
3737 MRootDevice =
38- get_info_impl<ur_device_handle_t >(UR_DEVICE_INFO_PARENT_DEVICE );
38+ get_info_impl<ur_device_handle_t , UR_DEVICE_INFO_PARENT_DEVICE>( );
3939 }
4040
4141 // TODO catch an exception and put it to list of asynchronous exceptions
4242 // Interoperability Constructor already calls DeviceRetain in
4343 // urDeviceCreateWithNativeHandle.
4444 Adapter->call <UrApiKind::urDeviceRetain>(MDevice);
4545
46- MUseNativeAssert = get_info_impl<ur_bool_t >(UR_DEVICE_INFO_USE_NATIVE_ASSERT);
46+ MUseNativeAssert =
47+ get_info_impl<ur_bool_t , UR_DEVICE_INFO_USE_NATIVE_ASSERT>();
4748}
4849
4950device_impl::~device_impl () {
@@ -119,7 +120,7 @@ device_impl::get_backend_info<info::device::backend_version>() const {
119120
120121bool device_impl::has_extension (const std::string &ExtensionName) const {
121122 std::string AllExtensionNames =
122- get_info_impl<std::string>(UR_DEVICE_INFO_EXTENSIONS );
123+ get_info_impl<std::string, UR_DEVICE_INFO_EXTENSIONS>( );
123124
124125 return (AllExtensionNames.find (ExtensionName) != std::string::npos);
125126}
@@ -369,14 +370,14 @@ bool device_impl::has(aspect Aspect) const {
369370 case aspect::ext_oneapi_cuda_cluster_group:
370371 return get_info<info::device::ext_oneapi_cuda_cluster_group>();
371372 case aspect::usm_atomic_host_allocations:
372- return (get_info_impl<ur_device_usm_access_capability_flags_t >(
373- UR_DEVICE_INFO_USM_HOST_SUPPORT) &
373+ return (get_info_impl<ur_device_usm_access_capability_flags_t ,
374+ UR_DEVICE_INFO_USM_HOST_SUPPORT>( ) &
374375 UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ATOMIC_CONCURRENT_ACCESS);
375376 case aspect::usm_shared_allocations:
376377 return get_info<info::device::usm_shared_allocations>();
377378 case aspect::usm_atomic_shared_allocations:
378- return (get_info_impl<ur_device_usm_access_capability_flags_t >(
379- UR_DEVICE_INFO_USM_SINGLE_SHARED_SUPPORT) &
379+ return (get_info_impl<ur_device_usm_access_capability_flags_t ,
380+ UR_DEVICE_INFO_USM_SINGLE_SHARED_SUPPORT>( ) &
380381 UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ATOMIC_CONCURRENT_ACCESS);
381382 case aspect::usm_restricted_shared_allocations:
382383 return get_info<info::device::usm_restricted_shared_allocations>();
@@ -421,118 +422,128 @@ bool device_impl::has(aspect Aspect) const {
421422 case aspect::ext_oneapi_native_assert:
422423 return useNativeAssert ();
423424 case aspect::ext_oneapi_cuda_async_barrier: {
424- return get_info_impl_nocheck<ur_bool_t >(UR_DEVICE_INFO_ASYNC_BARRIER )
425+ return get_info_impl_nocheck<ur_bool_t , UR_DEVICE_INFO_ASYNC_BARRIER>( )
425426 .value_or (0 );
426427 }
427428 case aspect::ext_intel_legacy_image: {
428- return get_info_impl_nocheck<ur_bool_t >(UR_DEVICE_INFO_IMAGE_SUPPORT )
429+ return get_info_impl_nocheck<ur_bool_t , UR_DEVICE_INFO_IMAGE_SUPPORT>( )
429430 .value_or (0 );
430431 }
431432 case aspect::ext_oneapi_bindless_images: {
432- return get_info_impl_nocheck<ur_bool_t >(
433- UR_DEVICE_INFO_BINDLESS_IMAGES_SUPPORT_EXP)
433+ return get_info_impl_nocheck<ur_bool_t ,
434+ UR_DEVICE_INFO_BINDLESS_IMAGES_SUPPORT_EXP>( )
434435 .value_or (0 );
435436 }
436437 case aspect::ext_oneapi_bindless_images_shared_usm: {
437- return get_info_impl_nocheck<ur_bool_t >(
438- UR_DEVICE_INFO_BINDLESS_IMAGES_SHARED_USM_SUPPORT_EXP)
438+ return get_info_impl_nocheck<
439+ ur_bool_t ,
440+ UR_DEVICE_INFO_BINDLESS_IMAGES_SHARED_USM_SUPPORT_EXP>()
439441 .value_or (0 );
440442 }
441443 case aspect::ext_oneapi_bindless_images_1d_usm: {
442- return get_info_impl_nocheck<ur_bool_t >(
443- UR_DEVICE_INFO_BINDLESS_IMAGES_1D_USM_SUPPORT_EXP)
444+ return get_info_impl_nocheck<
445+ ur_bool_t , UR_DEVICE_INFO_BINDLESS_IMAGES_1D_USM_SUPPORT_EXP>( )
444446 .value_or (0 );
445447 }
446448 case aspect::ext_oneapi_bindless_images_2d_usm: {
447- return get_info_impl_nocheck<ur_bool_t >(
448- UR_DEVICE_INFO_BINDLESS_IMAGES_2D_USM_SUPPORT_EXP)
449+ return get_info_impl_nocheck<
450+ ur_bool_t , UR_DEVICE_INFO_BINDLESS_IMAGES_2D_USM_SUPPORT_EXP>( )
449451 .value_or (0 );
450452 }
451453 case aspect::ext_oneapi_external_memory_import: {
452- return get_info_impl_nocheck<ur_bool_t >(
453- UR_DEVICE_INFO_EXTERNAL_MEMORY_IMPORT_SUPPORT_EXP)
454+ return get_info_impl_nocheck<
455+ ur_bool_t , UR_DEVICE_INFO_EXTERNAL_MEMORY_IMPORT_SUPPORT_EXP>( )
454456 .value_or (0 );
455457 }
456458 case aspect::ext_oneapi_external_semaphore_import: {
457- return get_info_impl_nocheck<ur_bool_t >(
458- UR_DEVICE_INFO_EXTERNAL_SEMAPHORE_IMPORT_SUPPORT_EXP)
459+ return get_info_impl_nocheck<
460+ ur_bool_t ,
461+ UR_DEVICE_INFO_EXTERNAL_SEMAPHORE_IMPORT_SUPPORT_EXP>()
459462 .value_or (0 );
460463 }
461464 case aspect::ext_oneapi_mipmap: {
462- return get_info_impl_nocheck<ur_bool_t >(UR_DEVICE_INFO_MIPMAP_SUPPORT_EXP )
465+ return get_info_impl_nocheck<ur_bool_t , UR_DEVICE_INFO_MIPMAP_SUPPORT_EXP>( )
463466 .value_or (0 );
464467 }
465468 case aspect::ext_oneapi_mipmap_anisotropy: {
466- return get_info_impl_nocheck<ur_bool_t >(
467- UR_DEVICE_INFO_MIPMAP_ANISOTROPY_SUPPORT_EXP)
469+ return get_info_impl_nocheck<ur_bool_t ,
470+ UR_DEVICE_INFO_MIPMAP_ANISOTROPY_SUPPORT_EXP>( )
468471 .value_or (0 );
469472 }
470473 case aspect::ext_oneapi_mipmap_level_reference: {
471- return get_info_impl_nocheck<ur_bool_t >(
472- UR_DEVICE_INFO_MIPMAP_LEVEL_REFERENCE_SUPPORT_EXP)
474+ return get_info_impl_nocheck<
475+ ur_bool_t , UR_DEVICE_INFO_MIPMAP_LEVEL_REFERENCE_SUPPORT_EXP>( )
473476 .value_or (0 );
474477 }
475478 case aspect::ext_oneapi_bindless_sampled_image_fetch_1d_usm: {
476- return get_info_impl_nocheck<ur_bool_t >(
477- UR_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_1D_USM_SUPPORT_EXP)
479+ return get_info_impl_nocheck<
480+ ur_bool_t ,
481+ UR_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_1D_USM_SUPPORT_EXP>()
478482 .value_or (0 );
479483 }
480484 case aspect::ext_oneapi_bindless_sampled_image_fetch_1d: {
481- return get_info_impl_nocheck<ur_bool_t >(
482- UR_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_1D_SUPPORT_EXP)
485+ return get_info_impl_nocheck<
486+ ur_bool_t ,
487+ UR_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_1D_SUPPORT_EXP>()
483488 .value_or (0 );
484489 }
485490 case aspect::ext_oneapi_bindless_sampled_image_fetch_2d_usm: {
486- return get_info_impl_nocheck<ur_bool_t >(
487- UR_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_2D_USM_SUPPORT_EXP)
491+ return get_info_impl_nocheck<
492+ ur_bool_t ,
493+ UR_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_2D_USM_SUPPORT_EXP>()
488494 .value_or (0 );
489495 }
490496 case aspect::ext_oneapi_bindless_sampled_image_fetch_2d: {
491- return get_info_impl_nocheck<ur_bool_t >(
492- UR_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_2D_SUPPORT_EXP)
497+ return get_info_impl_nocheck<
498+ ur_bool_t ,
499+ UR_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_2D_SUPPORT_EXP>()
493500 .value_or (0 );
494501 }
495502 case aspect::ext_oneapi_bindless_sampled_image_fetch_3d: {
496- return get_info_impl_nocheck<ur_bool_t >(
497- UR_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_3D_SUPPORT_EXP)
503+ return get_info_impl_nocheck<
504+ ur_bool_t ,
505+ UR_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_3D_SUPPORT_EXP>()
498506 .value_or (0 );
499507 }
500508 case aspect::ext_oneapi_bindless_images_gather: {
501- return get_info_impl_nocheck<ur_bool_t >(
502- UR_DEVICE_INFO_BINDLESS_IMAGES_GATHER_SUPPORT_EXP)
509+ return get_info_impl_nocheck<
510+ ur_bool_t , UR_DEVICE_INFO_BINDLESS_IMAGES_GATHER_SUPPORT_EXP>( )
503511 .value_or (0 );
504512 }
505513 case aspect::ext_oneapi_cubemap: {
506- return get_info_impl_nocheck<ur_bool_t >(UR_DEVICE_INFO_CUBEMAP_SUPPORT_EXP)
514+ return get_info_impl_nocheck<ur_bool_t ,
515+ UR_DEVICE_INFO_CUBEMAP_SUPPORT_EXP>()
507516 .value_or (0 );
508517 }
509518 case aspect::ext_oneapi_cubemap_seamless_filtering: {
510- return get_info_impl_nocheck<ur_bool_t >(
511- UR_DEVICE_INFO_CUBEMAP_SEAMLESS_FILTERING_SUPPORT_EXP)
519+ return get_info_impl_nocheck<
520+ ur_bool_t ,
521+ UR_DEVICE_INFO_CUBEMAP_SEAMLESS_FILTERING_SUPPORT_EXP>()
512522 .value_or (0 );
513523 }
514524 case aspect::ext_oneapi_image_array: {
515- return get_info_impl_nocheck<ur_bool_t >(
516- UR_DEVICE_INFO_IMAGE_ARRAY_SUPPORT_EXP)
525+ return get_info_impl_nocheck<ur_bool_t ,
526+ UR_DEVICE_INFO_IMAGE_ARRAY_SUPPORT_EXP>( )
517527 .value_or (0 );
518528 }
519529 case aspect::ext_oneapi_unique_addressing_per_dim: {
520- return get_info_impl_nocheck<ur_bool_t >(
521- UR_DEVICE_INFO_BINDLESS_UNIQUE_ADDRESSING_PER_DIM_SUPPORT_EXP)
530+ return get_info_impl_nocheck<
531+ ur_bool_t ,
532+ UR_DEVICE_INFO_BINDLESS_UNIQUE_ADDRESSING_PER_DIM_SUPPORT_EXP>()
522533 .value_or (0 );
523534 }
524535 case aspect::ext_oneapi_bindless_images_sample_1d_usm: {
525- return get_info_impl_nocheck<ur_bool_t >(
526- UR_DEVICE_INFO_BINDLESS_SAMPLE_1D_USM_SUPPORT_EXP)
536+ return get_info_impl_nocheck<
537+ ur_bool_t , UR_DEVICE_INFO_BINDLESS_SAMPLE_1D_USM_SUPPORT_EXP>( )
527538 .value_or (0 );
528539 }
529540 case aspect::ext_oneapi_bindless_images_sample_2d_usm: {
530- return get_info_impl_nocheck<ur_bool_t >(
531- UR_DEVICE_INFO_BINDLESS_SAMPLE_2D_USM_SUPPORT_EXP)
541+ return get_info_impl_nocheck<
542+ ur_bool_t , UR_DEVICE_INFO_BINDLESS_SAMPLE_2D_USM_SUPPORT_EXP>( )
532543 .value_or (0 );
533544 }
534545 case aspect::ext_intel_esimd: {
535- return get_info_impl_nocheck<ur_bool_t >(UR_DEVICE_INFO_ESIMD_SUPPORT )
546+ return get_info_impl_nocheck<ur_bool_t , UR_DEVICE_INFO_ESIMD_SUPPORT>( )
536547 .value_or (0 );
537548 }
538549 case aspect::ext_oneapi_ballot_group:
@@ -576,8 +587,8 @@ bool device_impl::has(aspect Aspect) const {
576587 return components.size () >= 2 ;
577588 }
578589 case aspect::ext_oneapi_is_component: {
579- return get_info_impl_nocheck<ur_device_handle_t >(
580- UR_DEVICE_INFO_COMPOSITE_DEVICE)
590+ return get_info_impl_nocheck<ur_device_handle_t ,
591+ UR_DEVICE_INFO_COMPOSITE_DEVICE>( )
581592 .value_or (nullptr ) != nullptr ;
582593 }
583594 case aspect::ext_oneapi_graph: {
@@ -623,13 +634,13 @@ bool device_impl::has(aspect Aspect) const {
623634 be == sycl::backend::opencl;
624635 }
625636 case aspect::ext_oneapi_queue_profiling_tag: {
626- return get_info_impl_nocheck<ur_bool_t >(
627- UR_DEVICE_INFO_TIMESTAMP_RECORDING_SUPPORT_EXP)
637+ return get_info_impl_nocheck<
638+ ur_bool_t , UR_DEVICE_INFO_TIMESTAMP_RECORDING_SUPPORT_EXP>( )
628639 .value_or (0 );
629640 }
630641 case aspect::ext_oneapi_virtual_mem: {
631- return get_info_impl_nocheck<ur_bool_t >(
632- UR_DEVICE_INFO_VIRTUAL_MEMORY_SUPPORT)
642+ return get_info_impl_nocheck<ur_bool_t ,
643+ UR_DEVICE_INFO_VIRTUAL_MEMORY_SUPPORT>( )
633644 .value_or (0 );
634645 }
635646 case aspect::ext_intel_fpga_task_sequence: {
@@ -652,8 +663,8 @@ bool device_impl::has(aspect Aspect) const {
652663 return is_gpu () && isCompatibleBE;
653664 }
654665 case aspect::ext_oneapi_async_memory_alloc: {
655- return get_info_impl_nocheck<ur_bool_t >(
656- UR_DEVICE_INFO_ASYNC_USM_ALLOCATIONS_SUPPORT_EXP)
666+ return get_info_impl_nocheck<
667+ ur_bool_t , UR_DEVICE_INFO_ASYNC_USM_ALLOCATIONS_SUPPORT_EXP>( )
657668 .value_or (0 );
658669 }
659670 }
0 commit comments