Skip to content

Commit 6a7bee6

Browse files
refactor: unify device hierarchy mode
Related-To: GSD-9560 Signed-off-by: Jaroslaw Warchulski <[email protected]>
1 parent 84b8622 commit 6a7bee6

File tree

30 files changed

+218
-384
lines changed

30 files changed

+218
-384
lines changed

level_zero/core/source/device/device_imp.cpp

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2020-2024 Intel Corporation
2+
* Copyright (C) 2020-2025 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -663,9 +663,8 @@ ze_result_t DeviceImp::getP2PProperties(ze_device_handle_t hPeerDevice,
663663
}
664664

665665
ze_result_t DeviceImp::getRootDevice(ze_device_handle_t *phRootDevice) {
666-
DriverHandleImp *driverHandleImp = static_cast<DriverHandleImp *>(driverHandle);
667666
// Given FLAT device Hierarchy mode, then nullptr is returned for the root device since no traversal is allowed.
668-
if (driverHandleImp->deviceHierarchyMode == L0::L0DeviceHierarchyMode::L0_DEVICE_HIERARCHY_FLAT) {
667+
if (this->neoDevice->getExecutionEnvironment()->getDeviceHierarchyMode() == NEO::DeviceHierarchyMode::FLAT) {
669668
*phRootDevice = nullptr;
670669
return ZE_RESULT_SUCCESS;
671670
}
@@ -1006,11 +1005,8 @@ ze_result_t DeviceImp::getProperties(ze_device_properties_t *pDeviceProperties)
10061005
pDeviceProperties->flags |= ZE_DEVICE_PROPERTY_FLAG_INTEGRATED;
10071006
}
10081007

1009-
if (isSubdevice) {
1010-
DriverHandleImp *driverHandleImp = static_cast<DriverHandleImp *>(driverHandle);
1011-
if (driverHandleImp->deviceHierarchyMode != L0::L0DeviceHierarchyMode::L0_DEVICE_HIERARCHY_FLAT) {
1012-
pDeviceProperties->flags |= ZE_DEVICE_PROPERTY_FLAG_SUBDEVICE;
1013-
}
1008+
if (isSubdevice && this->neoDevice->getExecutionEnvironment()->getDeviceHierarchyMode() != NEO::DeviceHierarchyMode::FLAT) {
1009+
pDeviceProperties->flags |= ZE_DEVICE_PROPERTY_FLAG_SUBDEVICE;
10141010
}
10151011

10161012
if (this->neoDevice->getDeviceInfo().errorCorrectionSupport) {
@@ -1198,9 +1194,8 @@ ze_result_t DeviceImp::getGlobalTimestampsUsingOsInterface(uint64_t *hostTimesta
11981194
}
11991195

12001196
ze_result_t DeviceImp::getSubDevices(uint32_t *pCount, ze_device_handle_t *phSubdevices) {
1201-
DriverHandleImp *driverHandleImp = static_cast<DriverHandleImp *>(driverHandle);
12021197
// Given FLAT device Hierarchy mode, then a count of 0 is returned since no traversal is allowed.
1203-
if (driverHandleImp->deviceHierarchyMode == L0::L0DeviceHierarchyMode::L0_DEVICE_HIERARCHY_FLAT) {
1198+
if (this->neoDevice->getExecutionEnvironment()->getDeviceHierarchyMode() == NEO::DeviceHierarchyMode::FLAT) {
12041199
*pCount = 0;
12051200
return ZE_RESULT_SUCCESS;
12061201
}

level_zero/core/source/driver/driver.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,6 @@ void DriverImp::initialize(ze_result_t *result) {
5353
envReader.getSetting("ZE_ENABLE_PCI_ID_DEVICE_ORDER", false);
5454
envVariables.fp64Emulation =
5555
envReader.getSetting("NEO_FP64_EMULATION", false);
56-
envVariables.deviceHierarchyMode =
57-
envReader.getSetting("ZE_FLAT_DEVICE_HIERARCHY", std::string(NEO::deviceHierarchyUnk));
5856

5957
auto executionEnvironment = new NEO::ExecutionEnvironment();
6058
UNRECOVERABLE_IF(nullptr == executionEnvironment);

level_zero/core/source/driver/driver_handle_imp.cpp

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -298,17 +298,7 @@ DriverHandle *DriverHandle::create(std::vector<std::unique_ptr<NEO::Device>> dev
298298
driverHandle->enableProgramDebugging = static_cast<NEO::DebuggingMode>(envVariables.programDebugging);
299299
driverHandle->enableSysman = envVariables.sysman;
300300
driverHandle->enablePciIdDeviceOrder = envVariables.pciIdDeviceOrder;
301-
char const *preferredDeviceHierarchy = envVariables.deviceHierarchyMode.c_str();
302-
if ((strcmp(preferredDeviceHierarchy, NEO::deviceHierarchyUnk) == 0) || ((strcmp(preferredDeviceHierarchy, NEO::deviceHierarchyComposite) != 0) && (strcmp(preferredDeviceHierarchy, NEO::deviceHierarchyFlat) != 0) && (strcmp(preferredDeviceHierarchy, NEO::deviceHierarchyCombined) != 0))) {
303-
preferredDeviceHierarchy = devices[0]->getGfxCoreHelper().getDefaultDeviceHierarchy();
304-
}
305-
if (strcmp(preferredDeviceHierarchy, NEO::deviceHierarchyComposite) == 0) {
306-
driverHandle->deviceHierarchyMode = L0::L0DeviceHierarchyMode::L0_DEVICE_HIERARCHY_COMPOSITE;
307-
} else if (strcmp(preferredDeviceHierarchy, NEO::deviceHierarchyFlat) == 0) {
308-
driverHandle->deviceHierarchyMode = L0::L0DeviceHierarchyMode::L0_DEVICE_HIERARCHY_FLAT;
309-
} else if (strcmp(preferredDeviceHierarchy, NEO::deviceHierarchyCombined) == 0) {
310-
driverHandle->deviceHierarchyMode = L0::L0DeviceHierarchyMode::L0_DEVICE_HIERARCHY_COMBINED;
311-
}
301+
312302
ze_result_t res = driverHandle->initialize(std::move(devices));
313303
if (res != ZE_RESULT_SUCCESS) {
314304
delete driverHandle;
@@ -338,12 +328,9 @@ void DriverHandleImp::initHostUsmAllocPool() {
338328
}
339329

340330
ze_result_t DriverHandleImp::getDevice(uint32_t *pCount, ze_device_handle_t *phDevices) {
341-
bool exposeSubDevices = false;
342331

343332
// If the user has requested FLAT or COMBINED device hierarchy model, then report all the sub devices as devices.
344-
if (this->deviceHierarchyMode != L0::L0DeviceHierarchyMode::L0_DEVICE_HIERARCHY_COMPOSITE) {
345-
exposeSubDevices = true;
346-
}
333+
bool exposeSubDevices = (this->devices.size() && this->devices[0]->getNEODevice()->getExecutionEnvironment()->getDeviceHierarchyMode() != NEO::DeviceHierarchyMode::COMPOSITE);
347334

348335
uint32_t numDevices = 0;
349336
if (exposeSubDevices) {
@@ -871,10 +858,7 @@ ze_result_t DriverHandleImp::fabricVertexGetExp(uint32_t *pCount, ze_fabric_vert
871858
this->initializeVertexes();
872859
}
873860

874-
bool exposeSubDevices = false;
875-
if (deviceHierarchyMode == L0::L0DeviceHierarchyMode::L0_DEVICE_HIERARCHY_FLAT) {
876-
exposeSubDevices = true;
877-
}
861+
bool exposeSubDevices = this->devices[0]->getNEODevice()->getExecutionEnvironment()->getDeviceHierarchyMode() != NEO::DeviceHierarchyMode::COMPOSITE;
878862

879863
if (*pCount == 0) {
880864
if (exposeSubDevices) {

level_zero/core/source/driver/driver_handle_imp.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,6 @@ struct FabricEdge;
2727
struct Image;
2828
class ExternalSemaphoreController;
2929

30-
enum L0DeviceHierarchyMode {
31-
L0_DEVICE_HIERARCHY_COMPOSITE,
32-
L0_DEVICE_HIERARCHY_FLAT,
33-
L0_DEVICE_HIERARCHY_COMBINED
34-
};
3530
#pragma pack(1)
3631
struct IpcMemoryData {
3732
uint64_t handle = 0;
@@ -172,7 +167,6 @@ struct DriverHandleImp : public DriverHandle {
172167
bool enableSysman = false;
173168
bool enablePciIdDeviceOrder = false;
174169
uint8_t powerHint = 0;
175-
L0DeviceHierarchyMode deviceHierarchyMode = L0_DEVICE_HIERARCHY_COMPOSITE;
176170

177171
// Error messages per thread, variable initialized / destoryed per thread,
178172
// not based on the lifetime of the object of a class.

level_zero/core/source/driver/driver_imp.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2020-2024 Intel Corporation
2+
* Copyright (C) 2020-2025 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -42,7 +42,6 @@ struct L0EnvVariables {
4242
bool sysman;
4343
bool pciIdDeviceOrder;
4444
bool fp64Emulation;
45-
std::string deviceHierarchyMode;
4645
};
4746

4847
} // namespace L0

level_zero/core/test/unit_tests/fixtures/device_fixture.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -131,11 +131,7 @@ void MultiDeviceFixtureHierarchy::setUp() {
131131
executionEnvironment->rootDeviceEnvironments[i]->memoryOperationsInterface = std::make_unique<MockMemoryOperations>();
132132
}
133133

134-
if (driverHandle->deviceHierarchyMode == L0::L0DeviceHierarchyMode::L0_DEVICE_HIERARCHY_FLAT) {
135-
executionEnvironment->setExposeSubDevicesAsDevices(true);
136-
} else if (driverHandle->deviceHierarchyMode == L0::L0DeviceHierarchyMode::L0_DEVICE_HIERARCHY_COMBINED) {
137-
executionEnvironment->setCombinedDeviceHierarchy(true);
138-
}
134+
executionEnvironment->setDeviceHierarchyMode(deviceHierarchyMode);
139135

140136
auto devices = NEO::DeviceFactory::createDevices(*executionEnvironment);
141137
if (devices.size()) {

level_zero/core/test/unit_tests/fixtures/device_fixture.h

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ struct MultiDeviceFixture {
130130
uint32_t numRootDevices = 4u;
131131
uint32_t numSubDevices = 2u;
132132
L0::ContextImp *context = nullptr;
133+
NEO::DeviceHierarchyMode deviceHierarchyMode = NEO::DeviceHierarchyMode::COMPOSITE;
133134

134135
VariableBackup<_ze_driver_handle_t *> globalDriverHandleBackup{&globalDriverHandle};
135136
VariableBackup<uint32_t> driverCountBackup{&driverCount};
@@ -139,23 +140,18 @@ struct MultiDeviceFixtureHierarchy : public MultiDeviceFixture {
139140
void setUp();
140141
};
141142

142-
struct MultiDeviceFixtureCompositeHierarchy : public MultiDeviceFixtureHierarchy {
143-
void setUp() {
144-
this->driverHandle->deviceHierarchyMode = L0::L0DeviceHierarchyMode::L0_DEVICE_HIERARCHY_COMPOSITE;
145-
MultiDeviceFixtureHierarchy::setUp();
146-
}
147-
};
143+
struct MultiDeviceFixtureCompositeHierarchy : public MultiDeviceFixtureHierarchy {};
148144

149145
struct MultiDeviceFixtureFlatHierarchy : public MultiDeviceFixtureHierarchy {
150146
void setUp() {
151-
this->driverHandle->deviceHierarchyMode = L0::L0DeviceHierarchyMode::L0_DEVICE_HIERARCHY_FLAT;
147+
this->deviceHierarchyMode = NEO::DeviceHierarchyMode::FLAT;
152148
MultiDeviceFixtureHierarchy::setUp();
153149
}
154150
};
155151

156152
struct MultiDeviceFixtureCombinedHierarchy : public MultiDeviceFixtureHierarchy {
157153
void setUp() {
158-
this->driverHandle->deviceHierarchyMode = L0::L0DeviceHierarchyMode::L0_DEVICE_HIERARCHY_COMBINED;
154+
this->deviceHierarchyMode = NEO::DeviceHierarchyMode::COMBINED;
159155
MultiDeviceFixtureHierarchy::setUp();
160156
}
161157
};

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2024 Intel Corporation
2+
* Copyright (C) 2024-2025 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -62,7 +62,7 @@ TEST_F(PciBusInfoTest, givenSuccessfulReadingOfBusValuesThenCorrectValuesAreRetu
6262
}
6363
}
6464

65-
TEST_P(PciBusOrderingTest, givenMultipleDevicesAndZePcieIdOrderingSetThenDevicesAndVerticesAreInCorrectOrder) {
65+
TEST_P(PciBusOrderingTest, givenMultipleDevicesWithCompositeHierarchyAndZePcieIdOrderingSetThenDevicesAndVerticesAreInCorrectOrder) {
6666
constexpr uint32_t numRootDevices = 6u;
6767
constexpr uint32_t numSubDevices = 2u;
6868
const NEO::PhysicalDevicePciBusInfo busInfos[numRootDevices] = {{2, 0, 3, 0}, {2, 0, 1, 9}, {0, 0, 0, 1}, {0, 3, 5, 0}, {1, 3, 5, 0}, {0, 4, 1, 0}};
@@ -76,6 +76,7 @@ TEST_P(PciBusOrderingTest, givenMultipleDevicesAndZePcieIdOrderingSetThenDevices
7676
debugManager.flags.EnableChipsetUniqueUUID.set(0);
7777

7878
auto executionEnvironment = NEO::MockDevice::prepareExecutionEnvironment(defaultHwInfo.get(), 0u);
79+
executionEnvironment->setDeviceHierarchyMode(COMPOSITE);
7980
auto memoryManager = new MockMemoryManagerOsAgnosticContext(*executionEnvironment);
8081
executionEnvironment->memoryManager.reset(memoryManager);
8182
auto neoDevices = NEO::DeviceFactory::createDevices(*executionEnvironment);

level_zero/core/test/unit_tests/sources/driver/test_driver.cpp

Lines changed: 0 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -558,107 +558,6 @@ TEST_F(DriverImpTest, givenEnabledProgramDebuggingWhenCreatingExecutionEnvironme
558558
L0::globalDriver = nullptr;
559559
}
560560

561-
TEST_F(DriverImpTest, whenCreatingExecutionEnvironmentThenDefaultHierarchyIsEnabled) {
562-
563-
ze_result_t result = ZE_RESULT_ERROR_UNINITIALIZED;
564-
DriverImp driverImp;
565-
driverImp.initialize(&result);
566-
L0::DriverHandleImp *driverHandleImp = reinterpret_cast<L0::DriverHandleImp *>(L0::globalDriverHandle);
567-
auto &gfxCoreHelper = driverHandleImp->memoryManager->peekExecutionEnvironment().rootDeviceEnvironments[0]->getHelper<NEO::GfxCoreHelper>();
568-
if (strcmp(gfxCoreHelper.getDefaultDeviceHierarchy(), "COMPOSITE") == 0) {
569-
EXPECT_EQ(driverHandleImp->deviceHierarchyMode, L0::L0DeviceHierarchyMode::L0_DEVICE_HIERARCHY_COMPOSITE);
570-
} else {
571-
EXPECT_EQ(driverHandleImp->deviceHierarchyMode, L0::L0DeviceHierarchyMode::L0_DEVICE_HIERARCHY_FLAT);
572-
}
573-
ASSERT_NE(nullptr, L0::globalDriver);
574-
ASSERT_NE(0u, L0::globalDriver->numDevices);
575-
576-
delete L0::globalDriver;
577-
L0::globalDriverHandle = nullptr;
578-
L0::globalDriver = nullptr;
579-
}
580-
581-
TEST_F(DriverImpTest, givenFlatDeviceHierarchyWhenCreatingExecutionEnvironmentThenFlatHierarchyIsEnabled) {
582-
583-
VariableBackup<uint32_t> mockGetenvCalledBackup(&IoFunctions::mockGetenvCalled, 0);
584-
std::unordered_map<std::string, std::string> mockableEnvs = {{"ZE_FLAT_DEVICE_HIERARCHY", "FLAT"}};
585-
VariableBackup<std::unordered_map<std::string, std::string> *> mockableEnvValuesBackup(&IoFunctions::mockableEnvValues, &mockableEnvs);
586-
587-
ze_result_t result = ZE_RESULT_ERROR_UNINITIALIZED;
588-
DriverImp driverImp;
589-
driverImp.initialize(&result);
590-
L0::DriverHandleImp *driverHandleImp = reinterpret_cast<L0::DriverHandleImp *>(L0::globalDriverHandle);
591-
EXPECT_EQ(driverHandleImp->deviceHierarchyMode, L0::L0DeviceHierarchyMode::L0_DEVICE_HIERARCHY_FLAT);
592-
ASSERT_NE(nullptr, L0::globalDriver);
593-
ASSERT_NE(0u, L0::globalDriver->numDevices);
594-
595-
delete L0::globalDriver;
596-
L0::globalDriverHandle = nullptr;
597-
L0::globalDriver = nullptr;
598-
}
599-
600-
TEST_F(DriverImpTest, givenCompositeDeviceHierarchyWhenCreatingExecutionEnvironmentThenCompositeHierarchyIsEnabled) {
601-
602-
VariableBackup<uint32_t> mockGetenvCalledBackup(&IoFunctions::mockGetenvCalled, 0);
603-
std::unordered_map<std::string, std::string> mockableEnvs = {{"ZE_FLAT_DEVICE_HIERARCHY", "COMPOSITE"}};
604-
VariableBackup<std::unordered_map<std::string, std::string> *> mockableEnvValuesBackup(&IoFunctions::mockableEnvValues, &mockableEnvs);
605-
606-
ze_result_t result = ZE_RESULT_ERROR_UNINITIALIZED;
607-
DriverImp driverImp;
608-
driverImp.initialize(&result);
609-
L0::DriverHandleImp *driverHandleImp = reinterpret_cast<L0::DriverHandleImp *>(L0::globalDriverHandle);
610-
EXPECT_EQ(driverHandleImp->deviceHierarchyMode, L0::L0DeviceHierarchyMode::L0_DEVICE_HIERARCHY_COMPOSITE);
611-
ASSERT_NE(nullptr, L0::globalDriver);
612-
ASSERT_NE(0u, L0::globalDriver->numDevices);
613-
614-
delete L0::globalDriver;
615-
L0::globalDriverHandle = nullptr;
616-
L0::globalDriver = nullptr;
617-
}
618-
619-
TEST_F(DriverImpTest, givenCombinedDeviceHierarchyWhenCreatingExecutionEnvironmentThenCombinedHierarchyIsEnabled) {
620-
621-
VariableBackup<uint32_t> mockGetenvCalledBackup(&IoFunctions::mockGetenvCalled, 0);
622-
std::unordered_map<std::string, std::string> mockableEnvs = {{"ZE_FLAT_DEVICE_HIERARCHY", "COMBINED"}};
623-
VariableBackup<std::unordered_map<std::string, std::string> *> mockableEnvValuesBackup(&IoFunctions::mockableEnvValues, &mockableEnvs);
624-
625-
ze_result_t result = ZE_RESULT_ERROR_UNINITIALIZED;
626-
DriverImp driverImp;
627-
driverImp.initialize(&result);
628-
L0::DriverHandleImp *driverHandleImp = reinterpret_cast<L0::DriverHandleImp *>(L0::globalDriverHandle);
629-
EXPECT_EQ(driverHandleImp->deviceHierarchyMode, L0::L0DeviceHierarchyMode::L0_DEVICE_HIERARCHY_COMBINED);
630-
ASSERT_NE(nullptr, L0::globalDriver);
631-
ASSERT_NE(0u, L0::globalDriver->numDevices);
632-
633-
delete L0::globalDriver;
634-
L0::globalDriverHandle = nullptr;
635-
L0::globalDriver = nullptr;
636-
}
637-
638-
TEST_F(DriverImpTest, givenErrantDeviceHierarchyWhenCreatingExecutionEnvironmentThenDefaultHierarchyIsEnabled) {
639-
640-
VariableBackup<uint32_t> mockGetenvCalledBackup(&IoFunctions::mockGetenvCalled, 0);
641-
std::unordered_map<std::string, std::string> mockableEnvs = {{"ZE_FLAT_DEVICE_HIERARCHY", "Flat"}};
642-
VariableBackup<std::unordered_map<std::string, std::string> *> mockableEnvValuesBackup(&IoFunctions::mockableEnvValues, &mockableEnvs);
643-
644-
ze_result_t result = ZE_RESULT_ERROR_UNINITIALIZED;
645-
DriverImp driverImp;
646-
driverImp.initialize(&result);
647-
L0::DriverHandleImp *driverHandleImp = reinterpret_cast<L0::DriverHandleImp *>(L0::globalDriverHandle);
648-
auto &gfxCoreHelper = driverHandleImp->memoryManager->peekExecutionEnvironment().rootDeviceEnvironments[0]->getHelper<NEO::GfxCoreHelper>();
649-
if (strcmp(gfxCoreHelper.getDefaultDeviceHierarchy(), "COMPOSITE") == 0) {
650-
EXPECT_EQ(driverHandleImp->deviceHierarchyMode, L0::L0DeviceHierarchyMode::L0_DEVICE_HIERARCHY_COMPOSITE);
651-
} else {
652-
EXPECT_EQ(driverHandleImp->deviceHierarchyMode, L0::L0DeviceHierarchyMode::L0_DEVICE_HIERARCHY_FLAT);
653-
}
654-
ASSERT_NE(nullptr, L0::globalDriver);
655-
ASSERT_NE(0u, L0::globalDriver->numDevices);
656-
657-
delete L0::globalDriver;
658-
L0::globalDriverHandle = nullptr;
659-
L0::globalDriver = nullptr;
660-
}
661-
662561
TEST_F(DriverImpTest, givenEnableProgramDebuggingWithValue2WhenCreatingExecutionEnvironmentThenDebuggingEnabledIsTrue) {
663562

664563
VariableBackup<uint32_t> mockGetenvCalledBackup(&IoFunctions::mockGetenvCalled, 0);

level_zero/core/test/unit_tests/sources/event/test_event.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2020-2024 Intel Corporation
2+
* Copyright (C) 2020-2025 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -2810,9 +2810,9 @@ TEST_F(TimestampEventCreate, givenEventWhenQueryKernelTimestampThenNotReadyRetur
28102810
EXPECT_EQ(0u, resultTimestamp.global.kernelEnd);
28112811
}
28122812

2813-
TEST_F(EventPoolCreateMultiDevice, givenFlatHierarchyWhenCallZeGetDevicesThenSubDevicesAreReturnedAsSeparateDevices) {
2814-
this->driverHandle->deviceHierarchyMode = L0::L0DeviceHierarchyMode::L0_DEVICE_HIERARCHY_FLAT;
2813+
using EventPoolCreateMultiDeviceFlatHierarchy = Test<MultiDeviceFixtureFlatHierarchy>;
28152814

2815+
TEST_F(EventPoolCreateMultiDeviceFlatHierarchy, givenFlatHierarchyWhenCallZeGetDevicesThenSubDevicesAreReturnedAsSeparateDevices) {
28162816
uint32_t deviceCount = 0;
28172817
ze_result_t result = zeDeviceGet(driverHandle.get(), &deviceCount, nullptr);
28182818
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
@@ -4311,6 +4311,8 @@ struct EventDynamicPacketUseFixture : public DeviceFixture {
43114311
void testSingleDevice() {
43124312
ze_result_t result = ZE_RESULT_SUCCESS;
43134313

4314+
device->getNEODevice()->getExecutionEnvironment()->setDeviceHierarchyMode(COMPOSITE);
4315+
43144316
auto &hwInfo = device->getHwInfo();
43154317
auto &l0GfxCoreHelper = device->getNEODevice()->getRootDeviceEnvironment().getHelper<L0GfxCoreHelper>();
43164318
auto &gfxCoreHelper = device->getGfxCoreHelper();

0 commit comments

Comments
 (0)