@@ -623,3 +623,33 @@ def test_asarray_support_for_usm_ndarray_protocol(usm_type):
623
623
assert x .dtype == y3 .dtype
624
624
assert y3 .usm_data .reference_obj is None
625
625
assert dpt .all (x [dpt .newaxis , :] == y3 )
626
+
627
+
628
+ @pytest .mark .parametrize ("dt" , [dpt .float16 , dpt .float64 , dpt .complex128 ])
629
+ def test_asarray_to_device_with_unsupported_dtype (dt ):
630
+ aspect = "fp16" if dt == dpt .float16 else "fp64"
631
+ try :
632
+ d0 = dpctl .select_device_with_aspects (aspect )
633
+ except dpctl .SyclDeviceCreationError :
634
+ pytest .skip ("No device with aspect for test" )
635
+ d1 = None
636
+ try :
637
+ d1 = dpctl .select_device_with_aspects ("cpu" , excluded_aspects = [aspect ])
638
+ except dpctl .SyclDeviceCreationError :
639
+ pass
640
+ try :
641
+ d1 = dpctl .select_device_with_aspects ("gpu" , excluded_aspects = [aspect ])
642
+ except dpctl .SyclDeviceCreationError :
643
+ pass
644
+ try :
645
+ d1 = dpctl .select_device_with_aspects (
646
+ "accelerator" , excluded_aspects = [aspect ]
647
+ )
648
+ except dpctl .SyclDeviceCreationError :
649
+ pass
650
+ if d1 is None :
651
+ pytest .skip ("No device with missing aspect for test" )
652
+
653
+ x = dpt .ones (10 , dtype = dt , device = d0 )
654
+ y = dpt .asarray (x , device = d1 )
655
+ assert y .sycl_device == d1
0 commit comments