@@ -28,22 +28,23 @@ device_impl::device_impl(ur_device_handle_t Device, platform_impl &Platform,
28
28
const AdapterPtr &Adapter = Platform.getAdapter ();
29
29
30
30
// 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>( );
32
32
33
33
// No need to set MRootDevice when MAlwaysRootDevice is true
34
34
// TODO: Is get_info aligned with this?
35
35
if (!Platform.MAlwaysRootDevice ) {
36
36
// TODO catch an exception and put it to list of asynchronous exceptions
37
37
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>( );
39
39
}
40
40
41
41
// TODO catch an exception and put it to list of asynchronous exceptions
42
42
// Interoperability Constructor already calls DeviceRetain in
43
43
// urDeviceCreateWithNativeHandle.
44
44
Adapter->call <UrApiKind::urDeviceRetain>(MDevice);
45
45
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>();
47
48
}
48
49
49
50
device_impl::~device_impl () {
@@ -119,7 +120,7 @@ device_impl::get_backend_info<info::device::backend_version>() const {
119
120
120
121
bool device_impl::has_extension (const std::string &ExtensionName) const {
121
122
std::string AllExtensionNames =
122
- get_info_impl<std::string>(UR_DEVICE_INFO_EXTENSIONS );
123
+ get_info_impl<std::string, UR_DEVICE_INFO_EXTENSIONS>( );
123
124
124
125
return (AllExtensionNames.find (ExtensionName) != std::string::npos);
125
126
}
@@ -369,14 +370,14 @@ bool device_impl::has(aspect Aspect) const {
369
370
case aspect::ext_oneapi_cuda_cluster_group:
370
371
return get_info<info::device::ext_oneapi_cuda_cluster_group>();
371
372
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>( ) &
374
375
UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ATOMIC_CONCURRENT_ACCESS);
375
376
case aspect::usm_shared_allocations:
376
377
return get_info<info::device::usm_shared_allocations>();
377
378
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>( ) &
380
381
UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ATOMIC_CONCURRENT_ACCESS);
381
382
case aspect::usm_restricted_shared_allocations:
382
383
return get_info<info::device::usm_restricted_shared_allocations>();
@@ -421,118 +422,128 @@ bool device_impl::has(aspect Aspect) const {
421
422
case aspect::ext_oneapi_native_assert:
422
423
return useNativeAssert ();
423
424
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>( )
425
426
.value_or (0 );
426
427
}
427
428
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>( )
429
430
.value_or (0 );
430
431
}
431
432
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>( )
434
435
.value_or (0 );
435
436
}
436
437
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>()
439
441
.value_or (0 );
440
442
}
441
443
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>( )
444
446
.value_or (0 );
445
447
}
446
448
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>( )
449
451
.value_or (0 );
450
452
}
451
453
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>( )
454
456
.value_or (0 );
455
457
}
456
458
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>()
459
462
.value_or (0 );
460
463
}
461
464
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>( )
463
466
.value_or (0 );
464
467
}
465
468
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>( )
468
471
.value_or (0 );
469
472
}
470
473
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>( )
473
476
.value_or (0 );
474
477
}
475
478
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>()
478
482
.value_or (0 );
479
483
}
480
484
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>()
483
488
.value_or (0 );
484
489
}
485
490
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>()
488
494
.value_or (0 );
489
495
}
490
496
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>()
493
500
.value_or (0 );
494
501
}
495
502
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>()
498
506
.value_or (0 );
499
507
}
500
508
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>( )
503
511
.value_or (0 );
504
512
}
505
513
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>()
507
516
.value_or (0 );
508
517
}
509
518
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>()
512
522
.value_or (0 );
513
523
}
514
524
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>( )
517
527
.value_or (0 );
518
528
}
519
529
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>()
522
533
.value_or (0 );
523
534
}
524
535
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>( )
527
538
.value_or (0 );
528
539
}
529
540
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>( )
532
543
.value_or (0 );
533
544
}
534
545
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>( )
536
547
.value_or (0 );
537
548
}
538
549
case aspect::ext_oneapi_ballot_group:
@@ -576,8 +587,8 @@ bool device_impl::has(aspect Aspect) const {
576
587
return components.size () >= 2 ;
577
588
}
578
589
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>( )
581
592
.value_or (nullptr ) != nullptr ;
582
593
}
583
594
case aspect::ext_oneapi_graph: {
@@ -623,13 +634,13 @@ bool device_impl::has(aspect Aspect) const {
623
634
be == sycl::backend::opencl;
624
635
}
625
636
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>( )
628
639
.value_or (0 );
629
640
}
630
641
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>( )
633
644
.value_or (0 );
634
645
}
635
646
case aspect::ext_intel_fpga_task_sequence: {
@@ -652,8 +663,8 @@ bool device_impl::has(aspect Aspect) const {
652
663
return is_gpu () && isCompatibleBE;
653
664
}
654
665
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>( )
657
668
.value_or (0 );
658
669
}
659
670
}
0 commit comments