@@ -26,29 +26,6 @@ using namespace level_zero_tests;
26
26
27
27
namespace {
28
28
29
- void get_copy_and_compute_ordinals (
30
- const std::vector<ze_command_queue_group_properties_t >
31
- &cmd_queue_group_props,
32
- int &compute_ordinal, int ©_ordinal) {
33
- for (uint32_t i = 0 ; i < cmd_queue_group_props.size (); i++) {
34
- if (cmd_queue_group_props[i].flags &
35
- ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE &&
36
- compute_ordinal < 0 ) {
37
- compute_ordinal = i;
38
- }
39
- if (cmd_queue_group_props[i].flags &
40
- ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COPY &&
41
- !(cmd_queue_group_props[i].flags &
42
- ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE) &&
43
- copy_ordinal < 0 ) {
44
- copy_ordinal = i;
45
- }
46
- if (compute_ordinal >= 0 && copy_ordinal >= 0 ) {
47
- break ;
48
- }
49
- }
50
- }
51
-
52
29
class zeCommandListAppendMemoryFillTests : public ::testing::Test {
53
30
protected:
54
31
void RunMaxMemoryFillTest (bool is_immediate, bool is_shared_system);
@@ -66,15 +43,20 @@ void zeCommandListAppendMemoryFillTests::
66
43
auto cmd_queue_group_props = get_command_queue_group_properties (
67
44
zeDevice::get_instance ()->get_device ());
68
45
69
- int compute_ordinal = -1 , copy_ordinal = -1 ;
70
- get_copy_and_compute_ordinals (cmd_queue_group_props, compute_ordinal,
71
- copy_ordinal);
72
- ASSERT_TRUE ((use_copy_engine && copy_ordinal >= 0 ) ||
73
- (!use_copy_engine && compute_ordinal >= 0 ));
46
+ auto compute_ordinal = lzt::get_queue_ordinal (
47
+ cmd_queue_group_props,
48
+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE |
49
+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COOPERATIVE_KERNELS,
50
+ 0 );
51
+ auto copy_ordinal = lzt::get_queue_ordinal (
52
+ cmd_queue_group_props, ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COPY,
53
+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE);
54
+ ASSERT_TRUE ((use_copy_engine && copy_ordinal) ||
55
+ (!use_copy_engine && compute_ordinal));
74
56
75
57
auto cmd_bundle = lzt::create_command_bundle (
76
58
lzt::get_default_context (), zeDevice::get_instance ()->get_device (), 0 ,
77
- use_copy_engine ? copy_ordinal : compute_ordinal, is_immediate);
59
+ use_copy_engine ? * copy_ordinal : * compute_ordinal, is_immediate);
78
60
const size_t size = 4096 ;
79
61
void *memory = lzt::allocate_device_memory_with_allocator_selector (
80
62
size, is_shared_system);
@@ -209,15 +191,20 @@ void zeCommandListAppendMemoryFillTests::
209
191
auto cmd_queue_group_props = get_command_queue_group_properties (
210
192
zeDevice::get_instance ()->get_device ());
211
193
212
- int compute_ordinal = -1 , copy_ordinal = -1 ;
213
- get_copy_and_compute_ordinals (cmd_queue_group_props, compute_ordinal,
214
- copy_ordinal);
215
- ASSERT_TRUE ((use_copy_engine && copy_ordinal >= 0 ) ||
216
- (!use_copy_engine && compute_ordinal >= 0 ));
194
+ auto compute_ordinal = lzt::get_queue_ordinal (
195
+ cmd_queue_group_props,
196
+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE |
197
+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COOPERATIVE_KERNELS,
198
+ 0 );
199
+ auto copy_ordinal = lzt::get_queue_ordinal (
200
+ cmd_queue_group_props, ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COPY,
201
+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE);
202
+ ASSERT_TRUE ((use_copy_engine && copy_ordinal) ||
203
+ (!use_copy_engine && compute_ordinal));
217
204
218
205
auto cmd_bundle = lzt::create_command_bundle (
219
206
lzt::get_default_context (), zeDevice::get_instance ()->get_device (), 0 ,
220
- use_copy_engine ? copy_ordinal : compute_ordinal, is_immediate);
207
+ use_copy_engine ? * copy_ordinal : * compute_ordinal, is_immediate);
221
208
const size_t size = 4096 ;
222
209
void *memory = lzt::allocate_device_memory_with_allocator_selector (
223
210
size, is_shared_system);
@@ -304,15 +291,20 @@ void zeCommandListAppendMemoryFillTests::
304
291
auto cmd_queue_group_props = get_command_queue_group_properties (
305
292
zeDevice::get_instance ()->get_device ());
306
293
307
- int compute_ordinal = -1 , copy_ordinal = -1 ;
308
- get_copy_and_compute_ordinals (cmd_queue_group_props, compute_ordinal,
309
- copy_ordinal);
310
- ASSERT_TRUE ((use_copy_engine && copy_ordinal >= 0 ) ||
311
- (!use_copy_engine && compute_ordinal >= 0 ));
294
+ auto compute_ordinal = lzt::get_queue_ordinal (
295
+ cmd_queue_group_props,
296
+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE |
297
+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COOPERATIVE_KERNELS,
298
+ 0 );
299
+ auto copy_ordinal = lzt::get_queue_ordinal (
300
+ cmd_queue_group_props, ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COPY,
301
+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE);
302
+ ASSERT_TRUE ((use_copy_engine && copy_ordinal) ||
303
+ (!use_copy_engine && compute_ordinal));
312
304
313
305
auto cmd_bundle = lzt::create_command_bundle (
314
306
lzt::get_default_context (), zeDevice::get_instance ()->get_device (), 0 ,
315
- use_copy_engine ? copy_ordinal : compute_ordinal, is_immediate);
307
+ use_copy_engine ? * copy_ordinal : * compute_ordinal, is_immediate);
316
308
const size_t size = 4096 ;
317
309
void *memory = lzt::allocate_device_memory_with_allocator_selector (
318
310
size, is_shared_system);
@@ -1360,15 +1352,20 @@ void zeCommandListAppendMemoryCopyTests::
1360
1352
auto cmd_queue_group_props = get_command_queue_group_properties (
1361
1353
zeDevice::get_instance ()->get_device ());
1362
1354
1363
- int compute_ordinal = -1 , copy_ordinal = -1 ;
1364
- get_copy_and_compute_ordinals (cmd_queue_group_props, compute_ordinal,
1365
- copy_ordinal);
1366
- ASSERT_TRUE ((use_copy_engine && copy_ordinal >= 0 ) ||
1367
- (!use_copy_engine && compute_ordinal >= 0 ));
1355
+ auto compute_ordinal = lzt::get_queue_ordinal (
1356
+ cmd_queue_group_props,
1357
+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE |
1358
+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COOPERATIVE_KERNELS,
1359
+ 0 );
1360
+ auto copy_ordinal = lzt::get_queue_ordinal (
1361
+ cmd_queue_group_props, ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COPY,
1362
+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE);
1363
+ ASSERT_TRUE ((use_copy_engine && copy_ordinal) ||
1364
+ (!use_copy_engine && compute_ordinal));
1368
1365
1369
1366
auto cmd_bundle = lzt::create_command_bundle (
1370
1367
lzt::get_default_context (), zeDevice::get_instance ()->get_device (), 0 ,
1371
- use_copy_engine ? copy_ordinal : compute_ordinal, is_immediate);
1368
+ use_copy_engine ? * copy_ordinal : * compute_ordinal, is_immediate);
1372
1369
1373
1370
const size_t size = 16 ;
1374
1371
const std::vector<char > host_memory (size, 123 );
@@ -1442,15 +1439,20 @@ void zeCommandListAppendMemoryCopyTests::
1442
1439
auto cmd_queue_group_props = get_command_queue_group_properties (
1443
1440
zeDevice::get_instance ()->get_device ());
1444
1441
1445
- int compute_ordinal = -1 , copy_ordinal = -1 ;
1446
- get_copy_and_compute_ordinals (cmd_queue_group_props, compute_ordinal,
1447
- copy_ordinal);
1448
- ASSERT_TRUE ((use_copy_engine && copy_ordinal >= 0 ) ||
1449
- (!use_copy_engine && compute_ordinal >= 0 ));
1442
+ auto compute_ordinal = lzt::get_queue_ordinal (
1443
+ cmd_queue_group_props,
1444
+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE |
1445
+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COOPERATIVE_KERNELS,
1446
+ 0 );
1447
+ auto copy_ordinal = lzt::get_queue_ordinal (
1448
+ cmd_queue_group_props, ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COPY,
1449
+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE);
1450
+ ASSERT_TRUE ((use_copy_engine && copy_ordinal) ||
1451
+ (!use_copy_engine && compute_ordinal));
1450
1452
1451
1453
auto cmd_bundle = lzt::create_command_bundle (
1452
1454
lzt::get_default_context (), zeDevice::get_instance ()->get_device (), 0 ,
1453
- use_copy_engine ? copy_ordinal : compute_ordinal, is_immediate);
1455
+ use_copy_engine ? * copy_ordinal : * compute_ordinal, is_immediate);
1454
1456
1455
1457
lzt::zeEventPool ep;
1456
1458
const size_t size = 16 ;
@@ -1536,15 +1538,20 @@ void zeCommandListAppendMemoryCopyTests::
1536
1538
auto cmd_queue_group_props = get_command_queue_group_properties (
1537
1539
zeDevice::get_instance ()->get_device ());
1538
1540
1539
- int compute_ordinal = -1 , copy_ordinal = -1 ;
1540
- get_copy_and_compute_ordinals (cmd_queue_group_props, compute_ordinal,
1541
- copy_ordinal);
1542
- ASSERT_TRUE ((use_copy_engine && copy_ordinal >= 0 ) ||
1543
- (!use_copy_engine && compute_ordinal >= 0 ));
1541
+ auto compute_ordinal = lzt::get_queue_ordinal (
1542
+ cmd_queue_group_props,
1543
+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE |
1544
+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COOPERATIVE_KERNELS,
1545
+ 0 );
1546
+ auto copy_ordinal = lzt::get_queue_ordinal (
1547
+ cmd_queue_group_props, ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COPY,
1548
+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE);
1549
+ ASSERT_TRUE ((use_copy_engine && copy_ordinal) ||
1550
+ (!use_copy_engine && compute_ordinal));
1544
1551
1545
1552
auto cmd_bundle = lzt::create_command_bundle (
1546
1553
lzt::get_default_context (), zeDevice::get_instance ()->get_device (), 0 ,
1547
- use_copy_engine ? copy_ordinal : compute_ordinal, is_immediate);
1554
+ use_copy_engine ? * copy_ordinal : * compute_ordinal, is_immediate);
1548
1555
1549
1556
lzt::zeEventPool ep;
1550
1557
const size_t size = 16 ;
0 commit comments