Skip to content

Commit 9d95913

Browse files
author
Diptorup Deb
committed
Add example for select_device_with_aspects.
1 parent 965fa3b commit 9d95913

File tree

2 files changed

+19
-29
lines changed

2 files changed

+19
-29
lines changed

examples/python/device_selection.py

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,6 @@
2020
import 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-
3423
def 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+
105106
if __name__ == "__main__":
106107
import _runner as runner
107108

examples/python/filter_selection.py

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,40 +20,29 @@
2020
import 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-
3423
def select_using_filter():
3524
"""
3625
Demonstrate the usage of a filter string to create a SyclDevice.
3726
3827
"""
3928
try:
4029
d1 = dpctl.SyclDevice("cpu")
41-
print_device(d1)
30+
d1.print_device_info()
4231
except ValueError:
4332
print("A CPU type device is not available on the system")
4433

4534
try:
4635
d1 = dpctl.SyclDevice("opencl:cpu:0")
47-
print_device(d1)
36+
d1.print_device_info()
4837
except ValueError:
4938
print("An OpenCL CPU driver needs to be installed on the system")
5039

5140
d1 = dpctl.SyclDevice("0")
52-
print_device(d1)
41+
d1.print_device_info()
5342

5443
try:
5544
d1 = dpctl.SyclDevice("gpu")
56-
print_device(d1)
45+
d1.print_device_info()
5746
except ValueError:
5847
print("A GPU type device is not available on the system")
5948

0 commit comments

Comments
 (0)