@@ -26,6 +26,29 @@ 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
+
29
52
class zeCommandListAppendMemoryFillTests : public ::testing::Test {
30
53
protected:
31
54
void RunMaxMemoryFillTest (bool is_immediate, bool is_shared_system);
@@ -35,29 +58,6 @@ class zeCommandListAppendMemoryFillTests : public ::testing::Test {
35
58
bool is_immediate, bool is_shared_system, bool use_copy_engine);
36
59
void RunGivenMemorySizeAndValueWhenAppendingMemoryFillWithWaitEventTest (
37
60
bool is_immediate, bool is_shared_system, bool use_copy_engine);
38
-
39
- void get_copy_and_compute_ordinals (
40
- const std::vector<ze_command_queue_group_properties_t >
41
- &cmd_queue_group_props,
42
- int &compute_ordinal, int ©_ordinal) {
43
- for (uint32_t i = 0 ; i < cmd_queue_group_props.size (); i++) {
44
- if (cmd_queue_group_props[i].flags &
45
- ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE &&
46
- compute_ordinal < 0 ) {
47
- compute_ordinal = i;
48
- }
49
- if (cmd_queue_group_props[i].flags &
50
- ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COPY &&
51
- !(cmd_queue_group_props[i].flags &
52
- ZE_COMMAND_QUEUE_GROUP_PROPERTY_FLAG_COMPUTE) &&
53
- copy_ordinal < 0 ) {
54
- copy_ordinal = i;
55
- }
56
- if (compute_ordinal >= 0 && copy_ordinal >= 0 ) {
57
- break ;
58
- }
59
- }
60
- }
61
61
};
62
62
63
63
void zeCommandListAppendMemoryFillTests::
@@ -69,9 +69,8 @@ void zeCommandListAppendMemoryFillTests::
69
69
int compute_ordinal = -1 , copy_ordinal = -1 ;
70
70
get_copy_and_compute_ordinals (cmd_queue_group_props, compute_ordinal,
71
71
copy_ordinal);
72
- if (use_copy_engine && copy_ordinal < 0 ) {
73
- GTEST_SKIP () << " Device does not support copy queue, skipping the test" ;
74
- }
72
+ ASSERT_TRUE ((use_copy_engine && copy_ordinal >= 0 ) ||
73
+ (!use_copy_engine && compute_ordinal >= 0 ));
75
74
76
75
auto cmd_bundle = lzt::create_command_bundle (
77
76
lzt::get_default_context (), zeDevice::get_instance ()->get_device (), 0 ,
@@ -213,9 +212,8 @@ void zeCommandListAppendMemoryFillTests::
213
212
int compute_ordinal = -1 , copy_ordinal = -1 ;
214
213
get_copy_and_compute_ordinals (cmd_queue_group_props, compute_ordinal,
215
214
copy_ordinal);
216
- if (use_copy_engine && copy_ordinal < 0 ) {
217
- GTEST_SKIP () << " Device does not support copy queue" ;
218
- }
215
+ ASSERT_TRUE ((use_copy_engine && copy_ordinal >= 0 ) ||
216
+ (!use_copy_engine && compute_ordinal >= 0 ));
219
217
220
218
auto cmd_bundle = lzt::create_command_bundle (
221
219
lzt::get_default_context (), zeDevice::get_instance ()->get_device (), 0 ,
@@ -309,9 +307,8 @@ void zeCommandListAppendMemoryFillTests::
309
307
int compute_ordinal = -1 , copy_ordinal = -1 ;
310
308
get_copy_and_compute_ordinals (cmd_queue_group_props, compute_ordinal,
311
309
copy_ordinal);
312
- if (use_copy_engine && copy_ordinal < 0 ) {
313
- GTEST_SKIP () << " Device does not support copy queue" ;
314
- }
310
+ ASSERT_TRUE ((use_copy_engine && copy_ordinal >= 0 ) ||
311
+ (!use_copy_engine && compute_ordinal >= 0 ));
315
312
316
313
auto cmd_bundle = lzt::create_command_bundle (
317
314
lzt::get_default_context (), zeDevice::get_instance ()->get_device (), 0 ,
@@ -1346,21 +1343,33 @@ INSTANTIATE_TEST_SUITE_P(MemoryCopies, AppendMemoryCopyRegionWithSharedSystem,
1346
1343
1347
1344
class zeCommandListAppendMemoryCopyTests : public ::testing::Test {
1348
1345
protected:
1349
- void
1350
- RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyTest (bool is_immediate,
1351
- bool is_shared_system);
1346
+ void RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyTest (
1347
+ bool is_immediate, bool is_shared_system, bool use_copy_engine);
1352
1348
void RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithHEventTest (
1353
- bool is_immediate, bool is_shared_system);
1349
+ bool is_immediate, bool is_shared_system, bool use_copy_engine );
1354
1350
void RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithWaitEventTest (
1355
- bool is_immediate, bool is_shared_system);
1351
+ bool is_immediate, bool is_shared_system, bool use_copy_engine );
1356
1352
void RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyRegionWithWaitEventTest (
1357
1353
bool is_immediate, bool is_shared_system);
1358
1354
};
1359
1355
1360
1356
void zeCommandListAppendMemoryCopyTests::
1361
- RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyTest (
1362
- bool is_immediate, bool is_shared_system) {
1363
- auto cmd_bundle = lzt::create_command_bundle (is_immediate);
1357
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyTest (bool is_immediate,
1358
+ bool is_shared_system,
1359
+ bool use_copy_engine) {
1360
+ auto cmd_queue_group_props = get_command_queue_group_properties (
1361
+ zeDevice::get_instance ()->get_device ());
1362
+
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 ));
1368
+
1369
+ auto cmd_bundle = lzt::create_command_bundle (
1370
+ lzt::get_default_context (), zeDevice::get_instance ()->get_device (), 0 ,
1371
+ use_copy_engine ? copy_ordinal : compute_ordinal, is_immediate);
1372
+
1364
1373
const size_t size = 16 ;
1365
1374
const std::vector<char > host_memory (size, 123 );
1366
1375
void *memory = lzt::allocate_device_memory_with_allocator_selector (
@@ -1378,34 +1387,72 @@ void zeCommandListAppendMemoryCopyTests::
1378
1387
LZT_TEST_F (
1379
1388
zeCommandListAppendMemoryCopyTests,
1380
1389
GivenHostMemoryDeviceHostMemoryAndSizeWhenAppendingMemoryCopyThenSuccessIsReturned) {
1381
- RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyTest (false , false );
1390
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyTest (false , false , false );
1382
1391
}
1383
1392
1384
1393
LZT_TEST_F (
1385
1394
zeCommandListAppendMemoryCopyTests,
1386
1395
GivenHostMemoryDeviceHostMemoryAndSizeWhenAppendingMemoryCopyOnImmediateCmdListThenSuccessIsReturned) {
1387
- RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyTest (true , false );
1396
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyTest (true , false , false );
1388
1397
}
1389
1398
1390
1399
LZT_TEST_F (
1391
1400
zeCommandListAppendMemoryCopyTests,
1392
1401
GivenHostMemoryAndSizeWhenAppendingMemoryCopyToSharedSystemMemoryThenSuccessIsReturnedWithSharedSystemAllocator) {
1393
1402
SKIP_IF_SHARED_SYSTEM_ALLOC_UNSUPPORTED ();
1394
- RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyTest (false , true );
1403
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyTest (false , true , false );
1395
1404
}
1396
1405
1397
1406
LZT_TEST_F (
1398
1407
zeCommandListAppendMemoryCopyTests,
1399
1408
GivenHostMemoryAndSizeWhenAppendingMemoryCopyToSharedSystemMemoryOnImmediateCmdListThenSuccessIsReturnedWithSharedSystemAllocator) {
1400
1409
SKIP_IF_SHARED_SYSTEM_ALLOC_UNSUPPORTED ();
1401
- RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyTest (true , true );
1410
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyTest (true , true , false );
1411
+ }
1412
+
1413
+ LZT_TEST_F (
1414
+ zeCommandListAppendMemoryCopyTests,
1415
+ GivenHostMemoryDeviceHostMemorySizeAndCopyEngineWhenAppendingMemoryCopyThenSuccessIsReturned) {
1416
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyTest (false , false , true );
1417
+ }
1418
+
1419
+ LZT_TEST_F (
1420
+ zeCommandListAppendMemoryCopyTests,
1421
+ GivenHostMemoryDeviceHostMemorySizeAndCopyEngineWhenAppendingMemoryCopyOnImmediateCmdListThenSuccessIsReturned) {
1422
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyTest (true , false , true );
1423
+ }
1424
+
1425
+ LZT_TEST_F (
1426
+ zeCommandListAppendMemoryCopyTests,
1427
+ GivenHostMemorySizeAndCopyEngineWhenAppendingMemoryCopyToSharedSystemMemoryThenSuccessIsReturnedWithSharedSystemAllocator) {
1428
+ SKIP_IF_SHARED_SYSTEM_ALLOC_UNSUPPORTED ();
1429
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyTest (false , true , true );
1430
+ }
1431
+
1432
+ LZT_TEST_F (
1433
+ zeCommandListAppendMemoryCopyTests,
1434
+ GivenHostMemorySizeAndCopyEngineWhenAppendingMemoryCopyToSharedSystemMemoryOnImmediateCmdListThenSuccessIsReturnedWithSharedSystemAllocator) {
1435
+ SKIP_IF_SHARED_SYSTEM_ALLOC_UNSUPPORTED ();
1436
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyTest (true , true , true );
1402
1437
}
1403
1438
1404
1439
void zeCommandListAppendMemoryCopyTests::
1405
1440
RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithHEventTest (
1406
- bool is_immediate, bool is_shared_system) {
1441
+ bool is_immediate, bool is_shared_system, bool use_copy_engine) {
1442
+ auto cmd_queue_group_props = get_command_queue_group_properties (
1443
+ zeDevice::get_instance ()->get_device ());
1444
+
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 ));
1450
+
1451
+ auto cmd_bundle = lzt::create_command_bundle (
1452
+ lzt::get_default_context (), zeDevice::get_instance ()->get_device (), 0 ,
1453
+ use_copy_engine ? copy_ordinal : compute_ordinal, is_immediate);
1454
+
1407
1455
lzt::zeEventPool ep;
1408
- auto cmd_bundle = lzt::create_command_bundle (is_immediate);
1409
1456
const size_t size = 16 ;
1410
1457
const std::vector<char > host_memory (size, 123 );
1411
1458
void *memory = lzt::allocate_device_memory_with_allocator_selector (
@@ -1426,34 +1473,80 @@ void zeCommandListAppendMemoryCopyTests::
1426
1473
LZT_TEST_F (
1427
1474
zeCommandListAppendMemoryCopyTests,
1428
1475
GivenHostMemoryDeviceHostMemoryAndSizeWhenAppendingMemoryCopyWithHEventThenSuccessIsReturned) {
1429
- RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithHEventTest (false , false );
1476
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithHEventTest (false , false ,
1477
+ false );
1430
1478
}
1431
1479
1432
1480
LZT_TEST_F (
1433
1481
zeCommandListAppendMemoryCopyTests,
1434
1482
GivenHostMemoryDeviceHostMemoryAndSizeWhenAppendingMemoryCopyWithHEventOnImmediateCmdListThenSuccessIsReturned) {
1435
- RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithHEventTest (true , false );
1483
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithHEventTest (true , false ,
1484
+ false );
1436
1485
}
1437
1486
1438
1487
LZT_TEST_F (
1439
1488
zeCommandListAppendMemoryCopyTests,
1440
1489
GivenHostMemoryAndSizeWhenAppendingMemoryCopyToSharedSystemMemoryWithHEventThenSuccessIsReturnedWithSharedSystemAllocator) {
1441
1490
SKIP_IF_SHARED_SYSTEM_ALLOC_UNSUPPORTED ();
1442
- RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithHEventTest (false , true );
1491
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithHEventTest (false , true ,
1492
+ false );
1443
1493
}
1444
1494
1445
1495
LZT_TEST_F (
1446
1496
zeCommandListAppendMemoryCopyTests,
1447
1497
GivenHostMemoryAndSizeWhenAppendingMemoryCopyToSharedSystemMemoryWithHEventOnImmediateCmdListThenSuccessIsReturnedWithSharedSystemAllocator) {
1448
1498
SKIP_IF_SHARED_SYSTEM_ALLOC_UNSUPPORTED ();
1449
- RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithHEventTest (true , true );
1499
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithHEventTest (true , true ,
1500
+ false );
1501
+ }
1502
+
1503
+ LZT_TEST_F (
1504
+ zeCommandListAppendMemoryCopyTests,
1505
+ GivenHostMemoryDeviceHostMemorySizeAndCopyEngineWhenAppendingMemoryCopyWithHEventThenSuccessIsReturned) {
1506
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithHEventTest (false , false ,
1507
+ true );
1508
+ }
1509
+
1510
+ LZT_TEST_F (
1511
+ zeCommandListAppendMemoryCopyTests,
1512
+ GivenHostMemoryDeviceHostMemorySizeAndCopyEngineWhenAppendingMemoryCopyWithHEventOnImmediateCmdListThenSuccessIsReturned) {
1513
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithHEventTest (true , false ,
1514
+ true );
1515
+ }
1516
+
1517
+ LZT_TEST_F (
1518
+ zeCommandListAppendMemoryCopyTests,
1519
+ GivenHostMemorySizeAndCopyEngineWhenAppendingMemoryCopyToSharedSystemMemoryWithHEventThenSuccessIsReturnedWithSharedSystemAllocator) {
1520
+ SKIP_IF_SHARED_SYSTEM_ALLOC_UNSUPPORTED ();
1521
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithHEventTest (false , true ,
1522
+ true );
1523
+ }
1524
+
1525
+ LZT_TEST_F (
1526
+ zeCommandListAppendMemoryCopyTests,
1527
+ GivenHostMemorySizeAndCopyEngineWhenAppendingMemoryCopyToSharedSystemMemoryWithHEventOnImmediateCmdListThenSuccessIsReturnedWithSharedSystemAllocator) {
1528
+ SKIP_IF_SHARED_SYSTEM_ALLOC_UNSUPPORTED ();
1529
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithHEventTest (true , true ,
1530
+ true );
1450
1531
}
1451
1532
1452
1533
void zeCommandListAppendMemoryCopyTests::
1453
1534
RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithWaitEventTest (
1454
- bool is_immediate, bool is_shared_system) {
1535
+ bool is_immediate, bool is_shared_system, bool use_copy_engine) {
1536
+ auto cmd_queue_group_props = get_command_queue_group_properties (
1537
+ zeDevice::get_instance ()->get_device ());
1538
+
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 ));
1544
+
1545
+ auto cmd_bundle = lzt::create_command_bundle (
1546
+ lzt::get_default_context (), zeDevice::get_instance ()->get_device (), 0 ,
1547
+ use_copy_engine ? copy_ordinal : compute_ordinal, is_immediate);
1548
+
1455
1549
lzt::zeEventPool ep;
1456
- auto cmd_bundle = lzt::create_command_bundle (is_immediate);
1457
1550
const size_t size = 16 ;
1458
1551
const std::vector<char > host_memory (size, 123 );
1459
1552
void *memory = lzt::allocate_device_memory_with_allocator_selector (
@@ -1477,30 +1570,61 @@ void zeCommandListAppendMemoryCopyTests::
1477
1570
LZT_TEST_F (
1478
1571
zeCommandListAppendMemoryCopyTests,
1479
1572
GivenHostMemoryDeviceHostMemoryAndSizeWhenAppendingMemoryCopyWithWaitEventThenSuccessIsReturned) {
1480
- RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithWaitEventTest (false ,
1481
- false );
1573
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithWaitEventTest (
1574
+ false , false , false );
1482
1575
}
1483
1576
1484
1577
LZT_TEST_F (
1485
1578
zeCommandListAppendMemoryCopyTests,
1486
1579
GivenHostMemoryDeviceHostMemoryAndSizeWhenAppendingMemoryCopyWithWaitEventOnImmediateCmdListThenSuccessIsReturned) {
1487
- RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithWaitEventTest (true ,
1580
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithWaitEventTest (true , false ,
1488
1581
false );
1489
1582
}
1490
1583
1491
1584
LZT_TEST_F (
1492
1585
zeCommandListAppendMemoryCopyTests,
1493
1586
GivenHostMemoryAndSizeWhenAppendingMemoryCopyToSharedSystemMemoryWithWaitEventThenSuccessIsReturnedWithSharedSystemAllocator) {
1494
1587
SKIP_IF_SHARED_SYSTEM_ALLOC_UNSUPPORTED ();
1495
- RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithWaitEventTest (false ,
1496
- true );
1588
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithWaitEventTest (false , true ,
1589
+ false );
1497
1590
}
1498
1591
1499
1592
LZT_TEST_F (
1500
1593
zeCommandListAppendMemoryCopyTests,
1501
1594
GivenHostMemoryAndSizeWhenAppendingMemoryCopyToSharedSystemMemoryWithWaitEventOnImmediateCmdListThenSuccessIsReturnedWithSharedSystemAllocator) {
1502
1595
SKIP_IF_SHARED_SYSTEM_ALLOC_UNSUPPORTED ();
1503
- RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithWaitEventTest (true , true );
1596
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithWaitEventTest (true , true ,
1597
+ false );
1598
+ }
1599
+
1600
+ LZT_TEST_F (
1601
+ zeCommandListAppendMemoryCopyTests,
1602
+ GivenHostMemoryDeviceHostMemorySizeAndCopyEngineWhenAppendingMemoryCopyWithWaitEventThenSuccessIsReturned) {
1603
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithWaitEventTest (
1604
+ false , false , true );
1605
+ }
1606
+
1607
+ LZT_TEST_F (
1608
+ zeCommandListAppendMemoryCopyTests,
1609
+ GivenHostMemoryDeviceHostMemorySizeAndCopyEngineWhenAppendingMemoryCopyWithWaitEventOnImmediateCmdListThenSuccessIsReturned) {
1610
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithWaitEventTest (true , false ,
1611
+ true );
1612
+ }
1613
+
1614
+ LZT_TEST_F (
1615
+ zeCommandListAppendMemoryCopyTests,
1616
+ GivenHostMemorySizeAndCopyEngineWhenAppendingMemoryCopyToSharedSystemMemoryWithWaitEventThenSuccessIsReturnedWithSharedSystemAllocator) {
1617
+ SKIP_IF_SHARED_SYSTEM_ALLOC_UNSUPPORTED ();
1618
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithWaitEventTest (false , true ,
1619
+ true );
1620
+ }
1621
+
1622
+ LZT_TEST_F (
1623
+ zeCommandListAppendMemoryCopyTests,
1624
+ GivenHostMemorySizeAndCopyEngineWhenAppendingMemoryCopyToSharedSystemMemoryWithWaitEventOnImmediateCmdListThenSuccessIsReturnedWithSharedSystemAllocator) {
1625
+ SKIP_IF_SHARED_SYSTEM_ALLOC_UNSUPPORTED ();
1626
+ RunGivenHostMemoryAndSizeWhenAppendingMemoryCopyWithWaitEventTest (true , true ,
1627
+ true );
1504
1628
}
1505
1629
1506
1630
void zeCommandListAppendMemoryCopyTests::
0 commit comments