Skip to content

Commit dc77174

Browse files
TimerResolution Device Properties 1.2
Signed-off-by: John Falkowski <john.falkowski@intel.com>
1 parent dc9b235 commit dc77174

File tree

21 files changed

+90
-56
lines changed

21 files changed

+90
-56
lines changed

level_zero/core/source/device/device_imp.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -413,10 +413,11 @@ ze_result_t DeviceImp::getProperties(ze_device_properties_t *pDeviceProperties)
413413

414414
pDeviceProperties->numSlices = hardwareInfo.gtSystemInfo.SliceCount * ((this->numSubDevices > 0) ? this->numSubDevices : 1);
415415

416-
if (NEO::DebugManager.flags.UseCyclesPerSecondTimer.get() == 0) {
417-
pDeviceProperties->timerResolution = this->neoDevice->getDeviceInfo().outProfilingTimerResolution;
418-
} else {
416+
if ((NEO::DebugManager.flags.UseCyclesPerSecondTimer.get() == 1) ||
417+
(pDeviceProperties->stype == ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES_1_2)) {
419418
pDeviceProperties->timerResolution = this->neoDevice->getDeviceInfo().outProfilingTimerClock;
419+
} else {
420+
pDeviceProperties->timerResolution = this->neoDevice->getDeviceInfo().outProfilingTimerResolution;
420421
}
421422

422423
pDeviceProperties->timestampValidBits = hardwareInfo.capabilityTable.timestampValidBits;

level_zero/core/test/black_box_tests/zello_timestamp.cpp

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,8 @@ bool testKernelTimestampHostQuery(ze_context_handle_t &context,
250250
}
251251

252252
bool testKernelTimestampApendQuery(ze_context_handle_t &context,
253-
ze_device_handle_t &device) {
253+
ze_device_handle_t &device,
254+
ze_device_properties_t devProperties) {
254255

255256
ze_command_queue_handle_t cmdQueue;
256257
ze_command_list_handle_t cmdList;
@@ -332,20 +333,29 @@ bool testKernelTimestampApendQuery(ze_context_handle_t &context,
332333

333334
ze_kernel_timestamp_result_t *kernelTsResults = reinterpret_cast<ze_kernel_timestamp_result_t *>(timestampBuffer);
334335

335-
ze_device_properties_t devProperties = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES};
336336
SUCCESS_OR_TERMINATE(zeDeviceGetProperties(device, &devProperties));
337337

338338
uint64_t timerResolution = devProperties.timerResolution;
339339
uint64_t kernelDuration = kernelTsResults->context.kernelEnd - kernelTsResults->context.kernelStart;
340-
std::cout << "Kernel timestamp statistics: \n"
341-
<< std::fixed
342-
<< " Global start : " << std::dec << kernelTsResults->global.kernelStart << " cycles\n"
343-
<< " Kernel start: " << std::dec << kernelTsResults->context.kernelStart << " cycles\n"
344-
<< " Kernel end: " << std::dec << kernelTsResults->context.kernelEnd << " cycles\n"
345-
<< " Global end: " << std::dec << kernelTsResults->global.kernelEnd << " cycles\n"
346-
<< " timerResolution clock: " << std::dec << timerResolution << " cycles/s\n"
347-
<< " Kernel duration : " << std::dec << kernelDuration << " cycles, " << kernelDuration * (1000000000.0 / static_cast<double>(timerResolution)) << " ns\n";
348-
340+
if (devProperties.stype == ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES_1_2) {
341+
std::cout << "Kernel timestamp statistics (V1.2 and later): \n"
342+
<< std::fixed
343+
<< " Global start : " << std::dec << kernelTsResults->global.kernelStart << " cycles\n"
344+
<< " Kernel start: " << std::dec << kernelTsResults->context.kernelStart << " cycles\n"
345+
<< " Kernel end: " << std::dec << kernelTsResults->context.kernelEnd << " cycles\n"
346+
<< " Global end: " << std::dec << kernelTsResults->global.kernelEnd << " cycles\n"
347+
<< " timerResolution clock: " << std::dec << timerResolution << " cycles/s\n"
348+
<< " Kernel duration : " << std::dec << kernelDuration << " cycles, " << kernelDuration * (1000000000.0 / static_cast<double>(timerResolution)) << " ns\n";
349+
} else {
350+
std::cout << "Kernel timestamp statistics (prior to V1.2): \n"
351+
<< std::fixed
352+
<< " Global start : " << std::dec << kernelTsResults->global.kernelStart << " cycles\n"
353+
<< " Kernel start: " << std::dec << kernelTsResults->context.kernelStart << " cycles\n"
354+
<< " Kernel end: " << std::dec << kernelTsResults->context.kernelEnd << " cycles\n"
355+
<< " Global end: " << std::dec << kernelTsResults->global.kernelEnd << " cycles\n"
356+
<< " timerResolution: " << std::dec << timerResolution << " ns\n"
357+
<< " Kernel duration : " << std::dec << kernelDuration << " cycles, " << kernelDuration * timerResolution << " ns\n";
358+
}
349359
// Cleanup
350360
SUCCESS_OR_TERMINATE(zeMemFree(context, dstBuffer));
351361
SUCCESS_OR_TERMINATE(zeMemFree(context, srcBuffer));
@@ -361,6 +371,7 @@ void printResult(bool result, std::string &currentTest) {
361371
std::cout << "\nZello Timestamp: " << currentTest.c_str()
362372
<< " Results validation "
363373
<< (result ? "PASSED" : "FAILED")
374+
<< std::endl
364375
<< std::endl;
365376
}
366377

@@ -379,8 +390,13 @@ int main(int argc, char *argv[]) {
379390
bool result;
380391
std::string currentTest;
381392

382-
currentTest = "Test Append Write of Global Timestamp";
383-
result = testKernelTimestampApendQuery(context, device);
393+
currentTest = "Test Append Write of Global Timestamp: Default Device Properties Structure";
394+
deviceProperties = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES};
395+
result = testKernelTimestampApendQuery(context, device, deviceProperties);
396+
printResult(result, currentTest);
397+
currentTest = "Test Append Write of Global Timestamp: V1.2 (and later) Device Properties Structure";
398+
deviceProperties = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES_1_2};
399+
result = testKernelTimestampApendQuery(context, device, deviceProperties);
384400
printResult(result, currentTest);
385401

386402
SUCCESS_OR_TERMINATE(zeContextDestroy(context));

level_zero/core/test/unit_tests/gen9/test_device_gen9.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ using ::testing::Return;
1919
using DevicePropertyTest = Test<DeviceFixture>;
2020

2121
HWTEST2_F(DevicePropertyTest, givenReturnedDevicePropertiesThenExpectedPropertiesFlagsSet, IsGen9) {
22-
ze_device_properties_t deviceProps;
22+
ze_device_properties_t deviceProps = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES};
2323

2424
device->getProperties(&deviceProps);
2525
EXPECT_EQ(0u, deviceProps.flags & ZE_DEVICE_PROPERTY_FLAG_ONDEMANDPAGING);

level_zero/core/test/unit_tests/sources/device/test_device.cpp

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -362,6 +362,7 @@ TEST_F(DeviceTest, givenDeviceCachePropertiesThenAllPropertiesAreAssigned) {
362362

363363
TEST_F(DeviceTest, givenDevicePropertiesStructureWhenDevicePropertiesCalledThenAllPropertiesAreAssigned) {
364364
ze_device_properties_t deviceProperties, devicePropertiesBefore;
365+
deviceProperties = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES};
365366

366367
deviceProperties.type = ZE_DEVICE_TYPE_FPGA;
367368
memset(&deviceProperties.vendorId, std::numeric_limits<int>::max(), sizeof(deviceProperties.vendorId));
@@ -406,7 +407,7 @@ TEST_F(DeviceTest, givenDevicePropertiesStructureWhenDevicePropertiesCalledThenA
406407
}
407408

408409
TEST_F(DeviceTest, WhenGettingDevicePropertiesThenSubslicesPerSliceIsBasedOnSubslicesSupported) {
409-
ze_device_properties_t deviceProperties;
410+
ze_device_properties_t deviceProperties = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES};
410411
deviceProperties.type = ZE_DEVICE_TYPE_GPU;
411412

412413
device->getNEODevice()->getRootDeviceEnvironment().getMutableHardwareInfo()->gtSystemInfo.MaxSubSlicesSupported = 48;
@@ -421,7 +422,7 @@ TEST_F(DeviceTest, WhenGettingDevicePropertiesThenSubslicesPerSliceIsBasedOnSubs
421422
TEST_F(DeviceTest, GivenDebugApiUsedSetWhenGettingDevicePropertiesThenSubslicesPerSliceIsBasedOnMaxSubslicesSupported) {
422423
DebugManagerStateRestore restorer;
423424
DebugManager.flags.DebugApiUsed.set(1);
424-
ze_device_properties_t deviceProperties;
425+
ze_device_properties_t deviceProperties = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES};
425426
deviceProperties.type = ZE_DEVICE_TYPE_GPU;
426427

427428
device->getNEODevice()->getRootDeviceEnvironment().getMutableHardwareInfo()->gtSystemInfo.MaxSubSlicesSupported = 48;
@@ -434,7 +435,7 @@ TEST_F(DeviceTest, GivenDebugApiUsedSetWhenGettingDevicePropertiesThenSubslicesP
434435
}
435436

436437
TEST_F(DeviceTest, givenCallToDevicePropertiesThenMaximumMemoryToBeAllocatedIsCorrectlyReturned) {
437-
ze_device_properties_t deviceProperties;
438+
ze_device_properties_t deviceProperties = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES};
438439
deviceProperties.maxMemAllocSize = 0;
439440
device->getProperties(&deviceProperties);
440441
EXPECT_EQ(deviceProperties.maxMemAllocSize, this->neoDevice->getDeviceInfo().maxMemAllocSize);
@@ -474,7 +475,7 @@ TEST_F(DeviceHwInfoTest, givenDeviceWithNoPageFaultSupportThenFlagIsNotSet) {
474475
executionEnvironment->rootDeviceEnvironments[0]->setHwInfo(&hardwareInfo);
475476
setDriverAndDevice();
476477

477-
ze_device_properties_t deviceProps;
478+
ze_device_properties_t deviceProps = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES};
478479
device->getProperties(&deviceProps);
479480
EXPECT_FALSE(deviceProps.flags & ZE_DEVICE_PROPERTY_FLAG_ONDEMANDPAGING);
480481
}
@@ -485,13 +486,13 @@ TEST_F(DeviceHwInfoTest, givenDeviceWithPageFaultSupportThenFlagIsSet) {
485486
executionEnvironment->rootDeviceEnvironments[0]->setHwInfo(&hardwareInfo);
486487
setDriverAndDevice();
487488

488-
ze_device_properties_t deviceProps;
489+
ze_device_properties_t deviceProps = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES};
489490
device->getProperties(&deviceProps);
490491
EXPECT_TRUE(deviceProps.flags & ZE_DEVICE_PROPERTY_FLAG_ONDEMANDPAGING);
491492
}
492493

493494
TEST_F(DeviceTest, whenGetDevicePropertiesCalledThenCorrectDevicePropertyEccFlagSet) {
494-
ze_device_properties_t deviceProps;
495+
ze_device_properties_t deviceProps = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES};
495496

496497
device->getProperties(&deviceProps);
497498
auto expected = (this->neoDevice->getDeviceInfo().errorCorrectionSupport) ? ZE_DEVICE_PROPERTY_FLAG_ECC : static_cast<ze_device_property_flag_t>(0u);
@@ -510,7 +511,7 @@ TEST_F(DeviceTest, givenCommandQueuePropertiesCallThenCallSucceeds) {
510511
}
511512

512513
TEST_F(DeviceTest, givenCallToDevicePropertiesThenTimestampValidBitsAreCorrectlyAssigned) {
513-
ze_device_properties_t deviceProps;
514+
ze_device_properties_t deviceProps = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES};
514515

515516
device->getProperties(&deviceProps);
516517
EXPECT_EQ(36u, deviceProps.timestampValidBits);
@@ -619,7 +620,7 @@ TEST_F(GlobalTimestampTest, whenGetProfilingTimerClockandProfilingTimerResolutio
619620
EXPECT_EQ(timerClock, static_cast<uint64_t>(1000000000.0 / timerResolution));
620621
}
621622

622-
TEST_F(GlobalTimestampTest, whenQueryingForTimerResolutionThenDefaultTimerResolutionInNanoSecondsIsReturned) {
623+
TEST_F(GlobalTimestampTest, whenQueryingForTimerResolutionWithLegacyDevicePropertiesStructThenDefaultTimerResolutionInNanoSecondsIsReturned) {
623624
neoDevice->setOSTime(new FalseCpuGpuTime());
624625
NEO::DeviceVector devices;
625626
devices.push_back(std::unique_ptr<NEO::Device>(neoDevice));
@@ -629,12 +630,28 @@ TEST_F(GlobalTimestampTest, whenQueryingForTimerResolutionThenDefaultTimerResolu
629630
double timerResolution = neoDevice->getProfilingTimerResolution();
630631
EXPECT_NE(timerResolution, 0.0);
631632

632-
ze_device_properties_t deviceProps = {};
633+
ze_device_properties_t deviceProps = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES};
633634
ze_result_t res = driverHandle.get()->devices[0]->getProperties(&deviceProps);
634635
EXPECT_EQ(ZE_RESULT_SUCCESS, res);
635636
EXPECT_EQ(deviceProps.timerResolution, static_cast<uint64_t>(timerResolution));
636637
}
637638

639+
TEST_F(GlobalTimestampTest, whenQueryingForTimerResolutionWithDeviceProperties_1_2_StructThenDefaultTimerResolutionInCyclesPerSecondsIsReturned) {
640+
neoDevice->setOSTime(new FalseCpuGpuTime());
641+
NEO::DeviceVector devices;
642+
devices.push_back(std::unique_ptr<NEO::Device>(neoDevice));
643+
std::unique_ptr<L0::DriverHandleImp> driverHandle = std::make_unique<L0::DriverHandleImp>();
644+
driverHandle->initialize(std::move(devices));
645+
646+
uint64_t timerClock = neoDevice->getProfilingTimerClock();
647+
EXPECT_NE(timerClock, 0u);
648+
649+
ze_device_properties_t deviceProps = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES_1_2};
650+
ze_result_t res = driverHandle.get()->devices[0]->getProperties(&deviceProps);
651+
EXPECT_EQ(ZE_RESULT_SUCCESS, res);
652+
EXPECT_EQ(deviceProps.timerResolution, timerClock);
653+
}
654+
638655
TEST_F(GlobalTimestampTest, whenQueryingForTimerResolutionWithUseCyclesPerSecondTimerSetThenTimerResolutionInCyclesPerSecondsIsReturned) {
639656
DebugManagerStateRestore restorer;
640657
DebugManager.flags.UseCyclesPerSecondTimer.set(1u);
@@ -648,7 +665,7 @@ TEST_F(GlobalTimestampTest, whenQueryingForTimerResolutionWithUseCyclesPerSecond
648665
uint64_t timerClock = neoDevice->getProfilingTimerClock();
649666
EXPECT_NE(timerClock, 0u);
650667

651-
ze_device_properties_t deviceProps = {};
668+
ze_device_properties_t deviceProps = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES};
652669
ze_result_t res = driverHandle.get()->devices[0]->getProperties(&deviceProps);
653670
EXPECT_EQ(ZE_RESULT_SUCCESS, res);
654671
EXPECT_EQ(deviceProps.timerResolution, timerClock);
@@ -1018,7 +1035,7 @@ TEST_F(MultipleDevicesTest, whenRetriecingSubDevicePropertiesThenCorrectFlagIsSe
10181035
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
10191036
EXPECT_EQ(numSubDevices, count);
10201037

1021-
ze_device_properties_t deviceProps;
1038+
ze_device_properties_t deviceProps = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES};
10221039

10231040
L0::Device *subdevice0 = static_cast<L0::Device *>(subDevices[0]);
10241041
subdevice0->getProperties(&deviceProps);
@@ -1243,7 +1260,7 @@ TEST(DevicePropertyFlagIsIntegratedTest, givenIntegratedDeviceThenCorrectDeviceP
12431260
driverHandle->initialize(std::move(devices));
12441261
auto device = driverHandle->devices[0];
12451262

1246-
ze_device_properties_t deviceProps;
1263+
ze_device_properties_t deviceProps = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES};
12471264

12481265
device->getProperties(&deviceProps);
12491266
EXPECT_EQ(ZE_DEVICE_PROPERTY_FLAG_INTEGRATED, deviceProps.flags & ZE_DEVICE_PROPERTY_FLAG_INTEGRATED);
@@ -1261,7 +1278,7 @@ TEST(DevicePropertyFlagDiscreteDeviceTest, givenDiscreteDeviceThenCorrectDeviceP
12611278
driverHandle->initialize(std::move(devices));
12621279
auto device = driverHandle->devices[0];
12631280

1264-
ze_device_properties_t deviceProps;
1281+
ze_device_properties_t deviceProps = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES};
12651282

12661283
device->getProperties(&deviceProps);
12671284
EXPECT_EQ(0u, deviceProps.flags & ZE_DEVICE_PROPERTY_FLAG_INTEGRATED);

level_zero/tools/source/sysman/diagnostics/diagnostics_imp.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ ze_result_t DiagnosticsImp::diagnosticsRunTests(uint32_t start, uint32_t end, ze
2929
}
3030

3131
DiagnosticsImp::DiagnosticsImp(OsSysman *pOsSysman, const std::string &initalizedDiagTest, ze_device_handle_t handle) : deviceHandle(handle) {
32-
ze_device_properties_t deviceProperties = {};
32+
ze_device_properties_t deviceProperties = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES};
3333
Device::fromHandle(deviceHandle)->getProperties(&deviceProperties);
3434
pOsDiagnostics = OsDiagnostics::create(pOsSysman, initalizedDiagTest, deviceProperties.flags & ZE_DEVICE_PROPERTY_FLAG_SUBDEVICE, deviceProperties.subdeviceId);
3535
UNRECOVERABLE_IF(nullptr == pOsDiagnostics);

level_zero/tools/source/sysman/frequency/frequency_imp.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ void FrequencyImp::init() {
115115
}
116116

117117
FrequencyImp::FrequencyImp(OsSysman *pOsSysman, ze_device_handle_t handle, zes_freq_domain_t frequencyDomainNumber) : deviceHandle(handle) {
118-
ze_device_properties_t deviceProperties = {};
118+
ze_device_properties_t deviceProperties = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES};
119119
Device::fromHandle(deviceHandle)->getProperties(&deviceProperties);
120120
pOsFrequency = OsFrequency::create(pOsSysman, deviceProperties.flags & ZE_DEVICE_PROPERTY_FLAG_SUBDEVICE, deviceProperties.subdeviceId, frequencyDomainNumber);
121121
UNRECOVERABLE_IF(nullptr == pOsFrequency);

level_zero/tools/source/sysman/global_operations/global_operations_imp.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2020 Intel Corporation
2+
* Copyright (C) 2020-2021 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -40,7 +40,7 @@ ze_result_t GlobalOperationsImp::processesGetState(uint32_t *pCount, zes_process
4040

4141
ze_result_t GlobalOperationsImp::deviceGetProperties(zes_device_properties_t *pProperties) {
4242
Device *device = pOsGlobalOperations->getDevice();
43-
ze_device_properties_t deviceProperties;
43+
ze_device_properties_t deviceProperties = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES};
4444
device->getProperties(&deviceProperties);
4545
sysmanProperties.core = deviceProperties;
4646
uint32_t count = 0;

level_zero/tools/source/sysman/global_operations/linux/os_global_operations_imp.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ void LinuxGlobalOperationsImp::getModelName(char (&modelName)[ZES_STRING_PROPERT
7171
}
7272

7373
void LinuxGlobalOperationsImp::getVendorName(char (&vendorName)[ZES_STRING_PROPERTY_SIZE]) {
74-
ze_device_properties_t coreDeviceProperties;
74+
ze_device_properties_t coreDeviceProperties = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES};
7575
pDevice->getProperties(&coreDeviceProperties);
7676
std::stringstream pciId;
7777
pciId << std::hex << coreDeviceProperties.vendorId;

level_zero/tools/source/sysman/linux/pmt/pmt.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ void PlatformMonitoringTech::create(const std::vector<ze_device_handle_t> &devic
199199
std::map<uint32_t, L0::PlatformMonitoringTech *> &mapOfSubDeviceIdToPmtObject) {
200200
if (ZE_RESULT_SUCCESS == PlatformMonitoringTech::enumerateRootTelemIndex(pFsAccess, rootPciPathOfGpuDevice)) {
201201
for (const auto &deviceHandle : deviceHandles) {
202-
ze_device_properties_t deviceProperties = {};
202+
ze_device_properties_t deviceProperties = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES};
203203
Device::fromHandle(deviceHandle)->getProperties(&deviceProperties);
204204
auto pPmt = new PlatformMonitoringTech(pFsAccess, deviceProperties.flags & ZE_DEVICE_PROPERTY_FLAG_SUBDEVICE,
205205
deviceProperties.subdeviceId);

level_zero/tools/source/sysman/memory/memory_imp.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2020 Intel Corporation
2+
* Copyright (C) 2020-2021 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -30,7 +30,7 @@ void MemoryImp::init() {
3030
}
3131

3232
MemoryImp::MemoryImp(OsSysman *pOsSysman, ze_device_handle_t handle) : deviceHandle(handle) {
33-
ze_device_properties_t deviceProperties = {};
33+
ze_device_properties_t deviceProperties = {ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES};
3434
Device::fromHandle(deviceHandle)->getProperties(&deviceProperties);
3535
pOsMemory = OsMemory::create(pOsSysman, deviceProperties.flags & ZE_DEVICE_PROPERTY_FLAG_SUBDEVICE, deviceProperties.subdeviceId);
3636
init();

0 commit comments

Comments
 (0)