@@ -29,29 +29,6 @@ using lzt::to_int;
2929using lzt::to_u32;
3030using lzt::to_u8;
3131
32- void get_copy_and_compute_ordinals (
33- const std::vector<ze_command_queue_group_properties_t >
34- &cmd_queue_group_props,
35- int &compute_ordinal, int ©_ordinal) {
36- for (uint32_t i = 0 ; i < cmd_queue_group_props.size (); i++) {
37- if (cmd_queue_group_props[i].flags &
38- ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE &&
39- compute_ordinal < 0 ) {
40- compute_ordinal = to_int (i);
41- }
42- if (cmd_queue_group_props[i].flags &
43- ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COPY &&
44- !(cmd_queue_group_props[i].flags &
45- ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE) &&
46- copy_ordinal < 0 ) {
47- copy_ordinal = to_int (i);
48- }
49- if (compute_ordinal >= 0 && copy_ordinal >= 0 ) {
50- break ;
51- }
52- }
53- }
54-
5532class zeCommandListAppendMemoryFillTests : public ::testing::Test {
5633protected:
5734 void RunMaxMemoryFillTest (bool is_immediate, bool is_shared_system);
@@ -69,15 +46,20 @@ void zeCommandListAppendMemoryFillTests::
6946 auto cmd_queue_group_props = get_command_queue_group_properties (
7047 zeDevice::get_instance ()->get_device ());
7148
72- int compute_ordinal = -1 , copy_ordinal = -1 ;
73- get_copy_and_compute_ordinals (cmd_queue_group_props, compute_ordinal,
74- copy_ordinal);
75- ASSERT_TRUE ((use_copy_engine && copy_ordinal >= 0 ) ||
76- (!use_copy_engine && compute_ordinal >= 0 ));
49+ const ze_command_queue_group_property_flags_t queue_group_flags_set =
50+ use_copy_engine
51+ ? ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COPY
52+ : (ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE |
53+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COOPERATIVE_KERNELS);
54+ const ze_command_queue_group_property_flags_t queue_group_flags_not_set =
55+ use_copy_engine ? ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE : 0 ;
56+ auto ordinal = lzt::get_queue_ordinal (
57+ cmd_queue_group_props, queue_group_flags_set, queue_group_flags_not_set);
58+ ASSERT_TRUE (ordinal);
7759
7860 auto cmd_bundle = lzt::create_command_bundle (
7961 lzt::get_default_context (), zeDevice::get_instance ()->get_device (), 0 ,
80- to_u32 (use_copy_engine ? copy_ordinal : compute_ordinal) , is_immediate);
62+ *ordinal , is_immediate);
8163 const size_t size = 4096 ;
8264 void *memory = lzt::allocate_device_memory_with_allocator_selector (
8365 size, is_shared_system);
@@ -212,15 +194,20 @@ void zeCommandListAppendMemoryFillTests::
212194 auto cmd_queue_group_props = get_command_queue_group_properties (
213195 zeDevice::get_instance ()->get_device ());
214196
215- int compute_ordinal = -1 , copy_ordinal = -1 ;
216- get_copy_and_compute_ordinals (cmd_queue_group_props, compute_ordinal,
217- copy_ordinal);
218- ASSERT_TRUE ((use_copy_engine && copy_ordinal >= 0 ) ||
219- (!use_copy_engine && compute_ordinal >= 0 ));
197+ const ze_command_queue_group_property_flags_t queue_group_flags_set =
198+ use_copy_engine
199+ ? ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COPY
200+ : (ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE |
201+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COOPERATIVE_KERNELS);
202+ const ze_command_queue_group_property_flags_t queue_group_flags_not_set =
203+ use_copy_engine ? ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE : 0 ;
204+ auto ordinal = lzt::get_queue_ordinal (
205+ cmd_queue_group_props, queue_group_flags_set, queue_group_flags_not_set);
206+ ASSERT_TRUE (ordinal);
220207
221208 auto cmd_bundle = lzt::create_command_bundle (
222209 lzt::get_default_context (), zeDevice::get_instance ()->get_device (), 0 ,
223- to_u32 (use_copy_engine ? copy_ordinal : compute_ordinal) , is_immediate);
210+ *ordinal , is_immediate);
224211 const size_t size = 4096 ;
225212 void *memory = lzt::allocate_device_memory_with_allocator_selector (
226213 size, is_shared_system);
@@ -307,15 +294,20 @@ void zeCommandListAppendMemoryFillTests::
307294 auto cmd_queue_group_props = get_command_queue_group_properties (
308295 zeDevice::get_instance ()->get_device ());
309296
310- int compute_ordinal = -1 , copy_ordinal = -1 ;
311- get_copy_and_compute_ordinals (cmd_queue_group_props, compute_ordinal,
312- copy_ordinal);
313- ASSERT_TRUE ((use_copy_engine && copy_ordinal >= 0 ) ||
314- (!use_copy_engine && compute_ordinal >= 0 ));
297+ const ze_command_queue_group_property_flags_t queue_group_flags_set =
298+ use_copy_engine
299+ ? ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COPY
300+ : (ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE |
301+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COOPERATIVE_KERNELS);
302+ const ze_command_queue_group_property_flags_t queue_group_flags_not_set =
303+ use_copy_engine ? ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE : 0 ;
304+ auto ordinal = lzt::get_queue_ordinal (
305+ cmd_queue_group_props, queue_group_flags_set, queue_group_flags_not_set);
306+ ASSERT_TRUE (ordinal);
315307
316308 auto cmd_bundle = lzt::create_command_bundle (
317309 lzt::get_default_context (), zeDevice::get_instance ()->get_device (), 0 ,
318- to_u32 (use_copy_engine ? copy_ordinal : compute_ordinal) , is_immediate);
310+ *ordinal , is_immediate);
319311 const size_t size = 4096 ;
320312 void *memory = lzt::allocate_device_memory_with_allocator_selector (
321313 size, is_shared_system);
@@ -1367,15 +1359,20 @@ void zeCommandListAppendMemoryCopyTests::
13671359 auto cmd_queue_group_props = get_command_queue_group_properties (
13681360 zeDevice::get_instance ()->get_device ());
13691361
1370- int compute_ordinal = -1 , copy_ordinal = -1 ;
1371- get_copy_and_compute_ordinals (cmd_queue_group_props, compute_ordinal,
1372- copy_ordinal);
1373- ASSERT_TRUE ((use_copy_engine && copy_ordinal >= 0 ) ||
1374- (!use_copy_engine && compute_ordinal >= 0 ));
1362+ const ze_command_queue_group_property_flags_t queue_group_flags_set =
1363+ use_copy_engine
1364+ ? ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COPY
1365+ : (ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE |
1366+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COOPERATIVE_KERNELS);
1367+ const ze_command_queue_group_property_flags_t queue_group_flags_not_set =
1368+ use_copy_engine ? ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE : 0 ;
1369+ auto ordinal = lzt::get_queue_ordinal (
1370+ cmd_queue_group_props, queue_group_flags_set, queue_group_flags_not_set);
1371+ ASSERT_TRUE (ordinal);
13751372
13761373 auto cmd_bundle = lzt::create_command_bundle (
13771374 lzt::get_default_context (), zeDevice::get_instance ()->get_device (), 0 ,
1378- to_u32 (use_copy_engine ? copy_ordinal : compute_ordinal) , is_immediate);
1375+ *ordinal , is_immediate);
13791376
13801377 const size_t size = 16 ;
13811378 const std::vector<char > host_memory (size, 123 );
@@ -1449,15 +1446,20 @@ void zeCommandListAppendMemoryCopyTests::
14491446 auto cmd_queue_group_props = get_command_queue_group_properties (
14501447 zeDevice::get_instance ()->get_device ());
14511448
1452- int compute_ordinal = -1 , copy_ordinal = -1 ;
1453- get_copy_and_compute_ordinals (cmd_queue_group_props, compute_ordinal,
1454- copy_ordinal);
1455- ASSERT_TRUE ((use_copy_engine && copy_ordinal >= 0 ) ||
1456- (!use_copy_engine && compute_ordinal >= 0 ));
1449+ const ze_command_queue_group_property_flags_t queue_group_flags_set =
1450+ use_copy_engine
1451+ ? ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COPY
1452+ : (ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE |
1453+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COOPERATIVE_KERNELS);
1454+ const ze_command_queue_group_property_flags_t queue_group_flags_not_set =
1455+ use_copy_engine ? ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE : 0 ;
1456+ auto ordinal = lzt::get_queue_ordinal (
1457+ cmd_queue_group_props, queue_group_flags_set, queue_group_flags_not_set);
1458+ ASSERT_TRUE (ordinal);
14571459
14581460 auto cmd_bundle = lzt::create_command_bundle (
14591461 lzt::get_default_context (), zeDevice::get_instance ()->get_device (), 0 ,
1460- to_u32 (use_copy_engine ? copy_ordinal : compute_ordinal) , is_immediate);
1462+ *ordinal , is_immediate);
14611463
14621464 lzt::zeEventPool ep;
14631465 const size_t size = 16 ;
@@ -1543,15 +1545,20 @@ void zeCommandListAppendMemoryCopyTests::
15431545 auto cmd_queue_group_props = get_command_queue_group_properties (
15441546 zeDevice::get_instance ()->get_device ());
15451547
1546- int compute_ordinal = -1 , copy_ordinal = -1 ;
1547- get_copy_and_compute_ordinals (cmd_queue_group_props, compute_ordinal,
1548- copy_ordinal);
1549- ASSERT_TRUE ((use_copy_engine && copy_ordinal >= 0 ) ||
1550- (!use_copy_engine && compute_ordinal >= 0 ));
1548+ const ze_command_queue_group_property_flags_t queue_group_flags_set =
1549+ use_copy_engine
1550+ ? ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COPY
1551+ : (ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE |
1552+ ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COOPERATIVE_KERNELS);
1553+ const ze_command_queue_group_property_flags_t queue_group_flags_not_set =
1554+ use_copy_engine ? ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE : 0 ;
1555+ auto ordinal = lzt::get_queue_ordinal (
1556+ cmd_queue_group_props, queue_group_flags_set, queue_group_flags_not_set);
1557+ ASSERT_TRUE (ordinal);
15511558
15521559 auto cmd_bundle = lzt::create_command_bundle (
15531560 lzt::get_default_context (), zeDevice::get_instance ()->get_device (), 0 ,
1554- to_u32 (use_copy_engine ? copy_ordinal : compute_ordinal) , is_immediate);
1561+ *ordinal , is_immediate);
15551562
15561563 lzt::zeEventPool ep;
15571564 const size_t size = 16 ;
0 commit comments