2020import dpctl
2121
2222
23- def print_device (d ):
24- "Display information about given device argument."
25- if type (d ) is not dpctl .SyclDevice :
26- raise ValueError
27- print ("Name: " , d .name )
28- print ("Vendor: " , d .vendor )
29- print ("Driver version: " , d .driver_version )
30- print ("Backend: " , d .backend )
31- print ("Max EU: " , d .max_compute_units )
32-
33-
3423def create_default_device ():
3524 """
3625 Create default SyclDevice using `cl::sycl::default_selector`.
@@ -42,7 +31,7 @@ def create_default_device():
4231 d1 = dpctl .SyclDevice ()
4332 d2 = dpctl .select_default_device ()
4433 assert d1 == d2
45- print_device ( d1 )
34+ d1 . print_device_info ( )
4635 return d1
4736
4837
@@ -58,7 +47,7 @@ def create_gpu_device():
5847 d1 = dpctl .SyclDevice ("gpu" )
5948 d2 = dpctl .select_gpu_device ()
6049 assert d1 == d2
61- print_device ( d1 )
50+ d1 . print_device_info ( )
6251 except ValueError :
6352 print ("A GPU device is not available on the system" )
6453
@@ -96,12 +85,24 @@ def custom_select_device():
9685 max_score = d .default_selector_score
9786 selected_dev = d
9887 if selected_dev :
99- print_device ( selected_dev )
88+ selected_dev . print_device_info ( )
10089 else :
10190 print ("No device with half-precision support is available." )
10291 return selected_dev
10392
10493
94+ def create_device_with_aspects ():
95+ """
96+ Programmatically select a device based on specific set of aspects.
97+
98+ Demonstrate the usage of :func:`dpctl.select_device_with_aspects()`.
99+ """
100+ dev = dpctl .select_device_with_aspects (
101+ required_aspects = ["fp64" , "gpu" , "usm_shared_allocations" ]
102+ )
103+ dev .print_device_info ()
104+
105+
105106if __name__ == "__main__" :
106107 import _runner as runner
107108
0 commit comments