Skip to content

Commit 3d50171

Browse files
Expanded checks for attributes of SyclDevice to include all properties
1 parent fc0e4b2 commit 3d50171

File tree

1 file changed

+107
-50
lines changed

1 file changed

+107
-50
lines changed

dpctl/tests/_device_attributes_checks.py

Lines changed: 107 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -36,52 +36,52 @@
3636

3737

3838
# Unit test cases that will be run for every device
39-
def check_get_max_compute_units(device):
39+
def check_max_compute_units(device):
4040
max_compute_units = device.max_compute_units
4141
assert max_compute_units > 0
4242

4343

44-
def check_get_global_mem_size(device):
44+
def check_global_mem_size(device):
4545
global_mem_size = device.global_mem_size
4646
assert global_mem_size > 0
4747

4848

49-
def check_get_local_mem_size(device):
49+
def check_local_mem_size(device):
5050
local_mem_size = device.local_mem_size
5151
assert local_mem_size > 0
5252

5353

54-
def check_get_max_work_item_dims(device):
54+
def check_max_work_item_dims(device):
5555
max_work_item_dims = device.max_work_item_dims
5656
assert max_work_item_dims > 0
5757

5858

59-
def check_get_max_work_item_sizes1d(device):
59+
def check_max_work_item_sizes1d(device):
6060
max_work_item_sizes = device.max_work_item_sizes1d
6161
for size in max_work_item_sizes:
6262
assert size is not None
6363

6464

65-
def check_get_max_work_item_sizes2d(device):
65+
def check_max_work_item_sizes2d(device):
6666
max_work_item_sizes = device.max_work_item_sizes2d
6767
for size in max_work_item_sizes:
6868
assert size is not None
6969

7070

71-
def check_get_max_work_item_sizes3d(device):
71+
def check_max_work_item_sizes3d(device):
7272
max_work_item_sizes = device.max_work_item_sizes3d
7373
for size in max_work_item_sizes:
7474
assert size is not None
7575

7676

7777
@pytest.mark.filterwarnings("DeprecationWarning:")
78-
def check_get_max_work_item_sizes(device):
78+
def check_max_work_item_sizes(device):
7979
max_work_item_sizes = device.max_work_item_sizes
8080
for size in max_work_item_sizes:
8181
assert size is not None
8282

8383

84-
def check_get_max_work_group_size(device):
84+
def check_max_work_group_size(device):
8585
max_work_group_size = device.max_work_group_size
8686
# Special case for FPGA simulator
8787
if device.is_accelerator:
@@ -90,7 +90,7 @@ def check_get_max_work_group_size(device):
9090
assert max_work_group_size > 0
9191

9292

93-
def check_get_max_num_sub_groups(device):
93+
def check_max_num_sub_groups(device):
9494
max_num_sub_groups = device.max_num_sub_groups
9595
# Special case for FPGA simulator
9696
if device.is_accelerator or device.is_host:
@@ -267,105 +267,105 @@ def check_is_host(device):
267267
pytest.fail("is_hostcall failed")
268268

269269

270-
def check_get_max_read_image_args(device):
270+
def check_max_read_image_args(device):
271271
try:
272272
device.max_read_image_args
273273
except Exception:
274274
pytest.fail("max_read_image_args call failed")
275275

276276

277-
def check_get_max_write_image_args(device):
277+
def check_max_write_image_args(device):
278278
try:
279279
device.max_write_image_args
280280
except Exception:
281281
pytest.fail("max_write_image_args call failed")
282282

283283

284-
def check_get_image_2d_max_width(device):
284+
def check_image_2d_max_width(device):
285285
try:
286286
device.image_2d_max_width
287287
except Exception:
288288
pytest.fail("image_2d_max_width call failed")
289289

290290

291-
def check_get_image_2d_max_height(device):
291+
def check_image_2d_max_height(device):
292292
try:
293293
device.image_2d_max_height
294294
except Exception:
295295
pytest.fail("image_2d_max_height call failed")
296296

297297

298-
def check_get_image_3d_max_width(device):
298+
def check_image_3d_max_width(device):
299299
try:
300300
device.image_3d_max_width
301301
except Exception:
302302
pytest.fail("image_3d_max_width call failed")
303303

304304

305-
def check_get_image_3d_max_height(device):
305+
def check_image_3d_max_height(device):
306306
try:
307307
device.image_3d_max_height
308308
except Exception:
309309
pytest.fail("image_3d_max_height call failed")
310310

311311

312-
def check_get_image_3d_max_depth(device):
312+
def check_image_3d_max_depth(device):
313313
try:
314314
device.image_3d_max_depth
315315
except Exception:
316316
pytest.fail("image_3d_max_depth call failed")
317317

318318

319-
def check_get_sub_group_independent_forward_progress(device):
319+
def check_sub_group_independent_forward_progress(device):
320320
try:
321321
device.sub_group_independent_forward_progress
322322
except Exception:
323323
pytest.fail("sub_group_independent_forward_progress call failed")
324324

325325

326-
def check_get_preferred_vector_width_char(device):
326+
def check_preferred_vector_width_char(device):
327327
try:
328328
device.preferred_vector_width_char
329329
except Exception:
330330
pytest.fail("preferred_vector_width_char call failed")
331331

332332

333-
def check_get_preferred_vector_width_short(device):
333+
def check_preferred_vector_width_short(device):
334334
try:
335335
device.preferred_vector_width_short
336336
except Exception:
337337
pytest.fail("preferred_vector_width_short call failed")
338338

339339

340-
def check_get_preferred_vector_width_int(device):
340+
def check_preferred_vector_width_int(device):
341341
try:
342342
device.preferred_vector_width_int
343343
except Exception:
344344
pytest.fail("preferred_vector_width_int call failed")
345345

346346

347-
def check_get_preferred_vector_width_long(device):
347+
def check_preferred_vector_width_long(device):
348348
try:
349349
device.preferred_vector_width_long
350350
except Exception:
351351
pytest.fail("preferred_vector_width_long call failed")
352352

353353

354-
def check_get_preferred_vector_width_float(device):
354+
def check_preferred_vector_width_float(device):
355355
try:
356356
device.preferred_vector_width_float
357357
except Exception:
358358
pytest.fail("preferred_vector_width_float call failed")
359359

360360

361-
def check_get_preferred_vector_width_double(device):
361+
def check_preferred_vector_width_double(device):
362362
try:
363363
device.preferred_vector_width_double
364364
except Exception:
365365
pytest.fail("preferred_vector_width_double call failed")
366366

367367

368-
def check_get_preferred_vector_width_half(device):
368+
def check_preferred_vector_width_half(device):
369369
try:
370370
device.preferred_vector_width_half
371371
except Exception:
@@ -514,27 +514,76 @@ def check_platform(device):
514514
assert isinstance(p, dpctl.SyclPlatform)
515515

516516

517+
def check_parent_device(device):
518+
pd = device.parent_device
519+
assert pd is None or isinstance(pd, dpctl.SyclDevice)
520+
521+
522+
def check_filter_string(device):
523+
try:
524+
fs = device.filter_string
525+
assert type(fs) is str
526+
dd = dpctl.SyclDevice(fs)
527+
assert device == dd
528+
except TypeError:
529+
pass
530+
531+
532+
def check_name(device):
533+
dn = device.name
534+
assert dn
535+
assert type(dn) is str
536+
537+
538+
def check_driver_version(device):
539+
dv = device.driver_version
540+
assert dv
541+
assert type(dv) is str
542+
543+
544+
def check_vendor(device):
545+
ve = device.vendor
546+
assert ve
547+
assert type(ve) is str
548+
549+
550+
def check_default_selector_score(device):
551+
sc = device.default_selector_score
552+
assert type(sc) is int
553+
assert sc > 0
554+
555+
556+
def check_backend(device):
557+
be = device.backend
558+
assert type(be) is dpctl.backend_type
559+
560+
561+
def check_device_type(device):
562+
dt = device.device_type
563+
assert type(dt) is dpctl.device_type
564+
565+
517566
list_of_checks = [
518-
check_get_max_compute_units,
519-
check_get_max_work_item_dims,
520-
check_get_max_work_item_sizes1d,
521-
check_get_max_work_item_sizes2d,
522-
check_get_max_work_item_sizes3d,
523-
check_get_max_work_item_sizes,
524-
check_get_max_work_group_size,
525-
check_get_max_num_sub_groups,
567+
check_max_compute_units,
568+
check_max_work_item_dims,
569+
check_max_work_item_sizes1d,
570+
check_max_work_item_sizes2d,
571+
check_max_work_item_sizes3d,
572+
check_max_work_item_sizes,
573+
check_max_work_group_size,
574+
check_max_num_sub_groups,
526575
check_is_accelerator,
527576
check_is_cpu,
528577
check_is_gpu,
529578
check_is_host,
530-
check_get_sub_group_independent_forward_progress,
531-
check_get_preferred_vector_width_char,
532-
check_get_preferred_vector_width_short,
533-
check_get_preferred_vector_width_int,
534-
check_get_preferred_vector_width_long,
535-
check_get_preferred_vector_width_float,
536-
check_get_preferred_vector_width_double,
537-
check_get_preferred_vector_width_half,
579+
check_sub_group_independent_forward_progress,
580+
check_preferred_vector_width_char,
581+
check_preferred_vector_width_short,
582+
check_preferred_vector_width_int,
583+
check_preferred_vector_width_long,
584+
check_preferred_vector_width_float,
585+
check_preferred_vector_width_double,
586+
check_preferred_vector_width_half,
538587
check_has_aspect_host,
539588
check_has_aspect_cpu,
540589
check_has_aspect_gpu,
@@ -555,13 +604,13 @@ def check_platform(device):
555604
check_has_aspect_usm_atomic_host_allocations,
556605
check_has_aspect_usm_atomic_shared_allocations,
557606
check_has_aspect_host_debuggable,
558-
check_get_max_read_image_args,
559-
check_get_max_write_image_args,
560-
check_get_image_2d_max_width,
561-
check_get_image_2d_max_height,
562-
check_get_image_3d_max_width,
563-
check_get_image_3d_max_height,
564-
check_get_image_3d_max_depth,
607+
check_max_read_image_args,
608+
check_max_write_image_args,
609+
check_image_2d_max_width,
610+
check_image_2d_max_height,
611+
check_image_3d_max_width,
612+
check_image_3d_max_height,
613+
check_image_3d_max_depth,
565614
check_create_sub_devices_equally,
566615
check_create_sub_devices_by_counts,
567616
check_create_sub_devices_by_affinity_not_applicable,
@@ -573,10 +622,18 @@ def check_platform(device):
573622
check_create_sub_devices_by_affinity_next_partitionable,
574623
check_print_device_info,
575624
check_repr,
576-
check_get_global_mem_size,
577-
check_get_local_mem_size,
625+
check_global_mem_size,
626+
check_local_mem_size,
578627
check_profiling_timer_resolution,
579628
check_platform,
629+
check_parent_device,
630+
check_filter_string,
631+
check_vendor,
632+
check_driver_version,
633+
check_name,
634+
check_default_selector_score,
635+
check_backend,
636+
check_device_type,
580637
]
581638

582639

0 commit comments

Comments
 (0)