From 0f5381456d6a81a8c467c3a988282c54bc1386fb Mon Sep 17 00:00:00 2001 From: Dominik Dabek Date: Wed, 5 Nov 2025 10:07:16 +0000 Subject: [PATCH] feature: l0, flag to lazy init usm pools If enabled, usm pools will allocated on first usm allocation. Use by default in ULTs to avoid not needed allocations of pool storage. Related-To: NEO-16084 Signed-off-by: Dominik Dabek --- .../core/source/context/context_imp.cpp | 2 ++ .../core/source/driver/driver_handle_imp.cpp | 23 ++++++++++++++++--- .../core/source/driver/driver_handle_imp.h | 5 ++++ .../test/common/ult_specific_config_l0.cpp | 1 + .../fixtures/memory_ipc_fixture.cpp | 6 +---- .../sources/context/test_context.cpp | 7 +++--- .../unit_tests/sources/driver/test_driver.cpp | 2 -- .../unit_tests/sources/image/test_image.cpp | 12 ---------- .../unit_tests/sources/memory/test_memory.cpp | 21 ++++++++++------- .../sources/memory/test_memory_pooling.cpp | 1 + .../sources/memory/test_memory_wddm.cpp | 1 + .../debug_settings/debug_variables_base.inl | 1 + shared/test/common/test_files/igdrcl.config | 1 + 13 files changed, 50 insertions(+), 33 deletions(-) diff --git a/level_zero/core/source/context/context_imp.cpp b/level_zero/core/source/context/context_imp.cpp index 35170bc69e..80d78bc425 100644 --- a/level_zero/core/source/context/context_imp.cpp +++ b/level_zero/core/source/context/context_imp.cpp @@ -178,6 +178,7 @@ ze_result_t ContextImp::allocHostMem(const ze_host_mem_alloc_desc_t *hostMemDesc } if (false == lookupTable.exportMemory) { + this->driverHandle->initHostUsmAllocPoolOnce(); if (this->driverHandle->usmHostMemAllocPoolManager) { if (auto usmPtrFromPool = this->driverHandle->usmHostMemAllocPoolManager->createUnifiedMemoryAllocation(size, unifiedMemoryProperties)) { *ptr = usmPtrFromPool; @@ -327,6 +328,7 @@ ze_result_t ContextImp::allocDeviceMem(ze_device_handle_t hDevice, } if (false == lookupTable.exportMemory) { + this->driverHandle->initDeviceUsmAllocPoolOnce(); if (neoDevice->getUsmMemAllocPoolsManager()) { if (auto usmPtrFromPool = neoDevice->getUsmMemAllocPoolsManager()->createUnifiedMemoryAllocation(size, unifiedMemoryProperties)) { *ptr = usmPtrFromPool; diff --git a/level_zero/core/source/driver/driver_handle_imp.cpp b/level_zero/core/source/driver/driver_handle_imp.cpp index 947fb7bae4..c4febb4c79 100644 --- a/level_zero/core/source/driver/driver_handle_imp.cpp +++ b/level_zero/core/source/driver/driver_handle_imp.cpp @@ -327,9 +327,12 @@ ze_result_t DriverHandleImp::initialize(std::vector if (this->numDevices == 1) { this->svmAllocsManager->initUsmAllocationsCaches(*this->devices[0]->getNEODevice()); } - this->initHostUsmAllocPool(); - for (auto &device : this->devices) { - this->initDeviceUsmAllocPool(*device->getNEODevice(), this->numDevices > 1); + if (NEO::debugManager.flags.EnableUsmPoolLazyInit.get() != -1) { + this->lazyInitUsmPools = 1 == NEO::debugManager.flags.EnableUsmPoolLazyInit.get(); + } + if (!this->lazyInitUsmPools) { + this->initHostUsmAllocPoolOnce(); + this->initDeviceUsmAllocPoolOnce(); } uuidTimestamp = static_cast(std::chrono::system_clock::now().time_since_epoch().count()); @@ -374,6 +377,20 @@ DriverHandle *DriverHandle::create(std::vector> dev return driverHandle; } +void DriverHandleImp::initHostUsmAllocPoolOnce() { + std::call_once(this->hostUsmPoolOnceFlag, [this]() { + this->initHostUsmAllocPool(); + }); +} + +void DriverHandleImp::initDeviceUsmAllocPoolOnce() { + std::call_once(this->deviceUsmPoolOnceFlag, [this]() { + for (auto &device : this->devices) { + this->initDeviceUsmAllocPool(*device->getNEODevice(), this->numDevices > 1); + } + }); +} + void DriverHandleImp::initHostUsmAllocPool() { bool useUsmPoolManager = true; if (NEO::debugManager.flags.EnableUsmAllocationPoolManager.get() != -1) { diff --git a/level_zero/core/source/driver/driver_handle_imp.h b/level_zero/core/source/driver/driver_handle_imp.h index ef3516b834..ebfc3e795a 100644 --- a/level_zero/core/source/driver/driver_handle_imp.h +++ b/level_zero/core/source/driver/driver_handle_imp.h @@ -114,7 +114,9 @@ struct DriverHandleImp : public DriverHandle { std::map &getIPCHandleMap() { return this->ipcHandles; }; [[nodiscard]] std::unique_lock lockIPCHandleMap() { return std::unique_lock(this->ipcHandleMapMutex); }; void initHostUsmAllocPool(); + void initHostUsmAllocPoolOnce(); void initDeviceUsmAllocPool(NEO::Device &device, bool multiDevice); + void initDeviceUsmAllocPoolOnce(); NEO::UsmMemAllocPool *getHostUsmPoolOwningPtr(const void *ptr); std::unique_ptr hostPointerManager; @@ -162,6 +164,9 @@ struct DriverHandleImp : public DriverHandle { NEO::DebuggingMode enableProgramDebugging = NEO::DebuggingMode::disabled; bool enableSysman = false; bool enablePciIdDeviceOrder = false; + bool lazyInitUsmPools = false; + std::once_flag hostUsmPoolOnceFlag; + std::once_flag deviceUsmPoolOnceFlag; uint8_t powerHint = 0; // Error messages per thread, variable initialized / destroyed per thread, diff --git a/level_zero/core/test/common/ult_specific_config_l0.cpp b/level_zero/core/test/common/ult_specific_config_l0.cpp index 74af86ef0e..de07c95db7 100644 --- a/level_zero/core/test/common/ult_specific_config_l0.cpp +++ b/level_zero/core/test/common/ult_specific_config_l0.cpp @@ -34,6 +34,7 @@ void applyWorkarounds() { } L0::globalDriverHandles = new std::vector<_ze_driver_handle_t *>; L0::globalDriverHandles->reserve(1); + debugManager.flags.EnableUsmPoolLazyInit.set(1); } void setupTestFiles(std::string testBinaryFiles, int32_t revId) { diff --git a/level_zero/core/test/unit_tests/fixtures/memory_ipc_fixture.cpp b/level_zero/core/test/unit_tests/fixtures/memory_ipc_fixture.cpp index f9154bc22e..4d2966122a 100644 --- a/level_zero/core/test/unit_tests/fixtures/memory_ipc_fixture.cpp +++ b/level_zero/core/test/unit_tests/fixtures/memory_ipc_fixture.cpp @@ -534,11 +534,7 @@ void MemoryExportImportImplicitScalingTest::SetUp() { } void MemoryExportImportImplicitScalingTest::TearDown() { - // cleanup pool before restoring svm manager - for (auto device : driverHandle->devices) { - device->getNEODevice()->cleanupUsmAllocationPool(); - device->getNEODevice()->resetUsmAllocationPool(nullptr); - } + L0UltHelper::cleanupUsmAllocPoolsAndReuse(driverHandle.get()); driverHandle->svmAllocsManager = prevSvmAllocsManager; delete currSvmAllocsManager; driverHandle->setMemoryManager(prevMemoryManager); diff --git a/level_zero/core/test/unit_tests/sources/context/test_context.cpp b/level_zero/core/test/unit_tests/sources/context/test_context.cpp index fccfa266cb..e67be84843 100644 --- a/level_zero/core/test/unit_tests/sources/context/test_context.cpp +++ b/level_zero/core/test/unit_tests/sources/context/test_context.cpp @@ -384,7 +384,6 @@ struct SVMAllocsManagerContextMock : public NEO::SVMAllocsManager { struct ContextHostAllocTests : public ::testing::Test { void SetUp() override { - debugManager.flags.CreateMultipleRootDevices.set(numRootDevices); auto executionEnvironment = new NEO::ExecutionEnvironment; executionEnvironment->prepareRootDeviceEnvironments(numRootDevices); @@ -396,11 +395,9 @@ struct ContextHostAllocTests : public ::testing::Test { ze_result_t res = driverHandle->initialize(std::move(devices)); EXPECT_EQ(ZE_RESULT_SUCCESS, res); - L0UltHelper::cleanupUsmAllocPoolsAndReuse(driverHandle.get()); prevSvmAllocsManager = driverHandle->svmAllocsManager; currSvmAllocsManager = new SVMAllocsManagerContextMock(driverHandle->memoryManager); driverHandle->svmAllocsManager = currSvmAllocsManager; - L0UltHelper::initUsmAllocPools(driverHandle.get()); zeDevices.resize(numberOfDevicesInContext); driverHandle->getDevice(&numberOfDevicesInContext, zeDevices.data()); @@ -715,6 +712,8 @@ TEST_F(ContextMakeMemoryResidentTests, } TEST_F(ContextMakeMemoryResidentTests, givenDeviceUnifiedMemoryAndLocalOnlyAllocationModeThenCallMakeMemoryResidentImmediately) { + DebugManagerStateRestore restorer; + NEO::debugManager.flags.EnableDeviceUsmAllocationPool.set(0); const size_t size = 4096; void *ptr = nullptr; ze_device_mem_alloc_desc_t deviceDesc = {}; @@ -751,6 +750,8 @@ TEST_F(ContextMakeMemoryResidentTests, givenDeviceUnifiedMemoryAndLocalOnlyAlloc } TEST_F(ContextMakeMemoryResidentTests, givenNonDeviceUnifiedMemoryWhenAllocDeviceMemCalledThenMakeMemoryResidentIsNotImmediatelyCalled) { + DebugManagerStateRestore restorer; + NEO::debugManager.flags.EnableDeviceUsmAllocationPool.set(0); const size_t size = 4096; void *ptr = nullptr; ze_device_mem_alloc_desc_t deviceDesc = {}; diff --git a/level_zero/core/test/unit_tests/sources/driver/test_driver.cpp b/level_zero/core/test/unit_tests/sources/driver/test_driver.cpp index 644c686c79..7318afe93c 100644 --- a/level_zero/core/test/unit_tests/sources/driver/test_driver.cpp +++ b/level_zero/core/test/unit_tests/sources/driver/test_driver.cpp @@ -485,11 +485,9 @@ HWTEST_F(ImportNTHandleWithMockMemoryManager, givenNTHandleWhenCreatingHostMemor } HWTEST_F(ImportNTHandleWithMockMemoryManager, whenCallingCreateGraphicsAllocationFromMultipleSharedHandlesFromOsAgnosticMemoryManagerThenNullptrIsReturned) { - L0UltHelper::cleanupUsmAllocPoolsAndReuse(driverHandle.get()); delete driverHandle->svmAllocsManager; driverHandle->setMemoryManager(execEnv->memoryManager.get()); driverHandle->svmAllocsManager = new NEO::SVMAllocsManager(execEnv->memoryManager.get()); - L0UltHelper::initUsmAllocPools(driverHandle.get()); std::vector handles{6, 7}; AllocationProperties properties = {device->getRootDeviceIndex(), diff --git a/level_zero/core/test/unit_tests/sources/image/test_image.cpp b/level_zero/core/test/unit_tests/sources/image/test_image.cpp index 8af926fc68..4108b52ba6 100644 --- a/level_zero/core/test/unit_tests/sources/image/test_image.cpp +++ b/level_zero/core/test/unit_tests/sources/image/test_image.cpp @@ -718,11 +718,9 @@ HWTEST_F(ImageCreateExternalMemoryTest, givenNTHandleWhenCreatingImageThenSucces importNTHandle.stype = ZE_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMPORT_WIN32; desc.pNext = &importNTHandle; - L0UltHelper::cleanupUsmAllocPoolsAndReuse(driverHandle.get()); delete driverHandle->svmAllocsManager; driverHandle->setMemoryManager(execEnv->memoryManager.get()); driverHandle->svmAllocsManager = new NEO::SVMAllocsManager(execEnv->memoryManager.get()); - L0UltHelper::initUsmAllocPools(driverHandle.get()); auto imageHW = std::make_unique>>(); auto ret = imageHW->initialize(device, &desc); @@ -739,11 +737,9 @@ HWTEST_F(ImageCreateExternalMemoryTest, givenD3D12HeapHandleWhenCreatingImageThe importNTHandle.stype = ZE_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMPORT_WIN32; desc.pNext = &importNTHandle; - L0UltHelper::cleanupUsmAllocPoolsAndReuse(driverHandle.get()); delete driverHandle->svmAllocsManager; driverHandle->setMemoryManager(execEnv->memoryManager.get()); driverHandle->svmAllocsManager = new NEO::SVMAllocsManager(execEnv->memoryManager.get()); - L0UltHelper::initUsmAllocPools(driverHandle.get()); auto imageHW = std::make_unique>>(); auto ret = imageHW->initialize(device, &desc); @@ -760,11 +756,9 @@ HWTEST_F(ImageCreateExternalMemoryTest, givenD3D12ResourceHandleWhenCreatingImag importNTHandle.stype = ZE_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMPORT_WIN32; desc.pNext = &importNTHandle; - L0UltHelper::cleanupUsmAllocPoolsAndReuse(driverHandle.get()); delete driverHandle->svmAllocsManager; driverHandle->setMemoryManager(execEnv->memoryManager.get()); driverHandle->svmAllocsManager = new NEO::SVMAllocsManager(execEnv->memoryManager.get()); - L0UltHelper::initUsmAllocPools(driverHandle.get()); auto imageHW = std::make_unique>>(); auto ret = imageHW->initialize(device, &desc); @@ -781,11 +775,9 @@ HWTEST_F(ImageCreateExternalMemoryTest, givenD3D11TextureHandleWhenCreatingImage importNTHandle.stype = ZE_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMPORT_WIN32; desc.pNext = &importNTHandle; - L0UltHelper::cleanupUsmAllocPoolsAndReuse(driverHandle.get()); delete driverHandle->svmAllocsManager; driverHandle->setMemoryManager(execEnv->memoryManager.get()); driverHandle->svmAllocsManager = new NEO::SVMAllocsManager(execEnv->memoryManager.get()); - L0UltHelper::initUsmAllocPools(driverHandle.get()); auto imageHW = std::make_unique>>(); auto ret = imageHW->initialize(device, &desc); @@ -822,11 +814,9 @@ HWTEST_F(ImageCreateWithMemoryManagerNTHandleMock, givenNTHandleWhenCreatingNV12 importNTHandle.stype = ZE_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMPORT_WIN32; desc.pNext = &importNTHandle; - L0UltHelper::cleanupUsmAllocPoolsAndReuse(driverHandle.get()); delete driverHandle->svmAllocsManager; driverHandle->setMemoryManager(execEnv->memoryManager.get()); driverHandle->svmAllocsManager = new NEO::SVMAllocsManager(execEnv->memoryManager.get()); - L0UltHelper::initUsmAllocPools(driverHandle.get()); auto imageHW = std::make_unique>>(); auto ret = imageHW->initialize(device, &desc); @@ -874,11 +864,9 @@ HWTEST_F(ImageCreateWithFailMemoryManagerMock, givenImageDescWhenFailImageAlloca backupSipInitType = true; } - L0UltHelper::cleanupUsmAllocPoolsAndReuse(driverHandle.get()); delete driverHandle->svmAllocsManager; driverHandle->setMemoryManager(execEnv->memoryManager.get()); driverHandle->svmAllocsManager = new NEO::SVMAllocsManager(execEnv->memoryManager.get()); - L0UltHelper::initUsmAllocPools(driverHandle.get()); L0::Image *imageHandle = nullptr; static_cast(execEnv->memoryManager.get())->fail = true; diff --git a/level_zero/core/test/unit_tests/sources/memory/test_memory.cpp b/level_zero/core/test/unit_tests/sources/memory/test_memory.cpp index 61ce8d954b..6f73bc876c 100644 --- a/level_zero/core/test/unit_tests/sources/memory/test_memory.cpp +++ b/level_zero/core/test/unit_tests/sources/memory/test_memory.cpp @@ -117,6 +117,7 @@ TEST_F(MemoryExportImportImplicitScalingTest, struct IpcMemoryImplicitScalingTest : public ::testing::Test { void SetUp() override { + debugManager.flags.EnableDeviceUsmAllocationPool.set(0); // set for test execution DebugManagerStateRestore restorer; debugManager.flags.EnableImplicitScaling.set(1); debugManager.flags.EnableWalkerPartition.set(1); @@ -162,7 +163,7 @@ struct IpcMemoryImplicitScalingTest : public ::testing::Test { driverHandle->setMemoryManager(prevMemoryManager); delete currMemoryManager; } - + DebugManagerStateRestore testScopeRestorer; NEO::SVMAllocsManager *prevSvmAllocsManager; NEO::SVMAllocsManager *currSvmAllocsManager; @@ -2192,6 +2193,7 @@ TEST_F(MemoryTest, whenAllocatingDeviceMemoryThenAlignmentIsPassedCorrectlyAndMe auto memoryManager = static_cast(neoDevice->getMemoryManager()); size_t alignment = 8 * MemoryConstants::megaByte; + driverHandle->initDeviceUsmAllocPoolOnce(); do { alignment >>= 1; memoryManager->validateAllocateProperties = [alignment](const AllocationProperties &properties) { @@ -2217,7 +2219,7 @@ TEST_F(MemoryTest, whenAllocatingHostMemoryThenAlignmentIsPassedCorrectlyAndMemo hostDesc.pNext = nullptr; auto memoryManager = static_cast(neoDevice->getMemoryManager()); - + driverHandle->initHostUsmAllocPoolOnce(); size_t alignment = 8 * MemoryConstants::megaByte; do { alignment >>= 1; @@ -2416,6 +2418,7 @@ struct FreeExtTests : public ::testing::Test { if (context) { context->destroy(); } + L0UltHelper::cleanupUsmAllocPoolsAndReuse(driverHandle.get()); driverHandle->svmAllocsManager = prevSvmAllocsManager; delete currSvmAllocsManager; } @@ -2732,7 +2735,8 @@ TEST_F(FreeExtTests, TEST_F(FreeExtTests, whenAllocMemFailsWithDeferredFreeAllocationThenMemoryFreedAndRetrySucceeds) { // does not make sense for usm pooling, disable for test - L0UltHelper::cleanupUsmAllocPoolsAndReuse(driverHandle.get()); + DebugManagerStateRestore restorer; + NEO::debugManager.flags.EnableDeviceUsmAllocationPool.set(0); size_t size = 1024; size_t alignment = 1u; @@ -5695,7 +5699,6 @@ TEST(MemoryBitfieldTests, givenDeviceWithValidBitfieldWhenAllocatingSharedMemory struct AllocHostMemoryTest : public ::testing::Test { void SetUp() override { - std::vector> devices; NEO::ExecutionEnvironment *executionEnvironment = new NEO::ExecutionEnvironment(); executionEnvironment->prepareRootDeviceEnvironments(numRootDevices); @@ -5723,7 +5726,6 @@ struct AllocHostMemoryTest : public ::testing::Test { context->destroy(); } - DebugManagerStateRestore restorer; std::unique_ptr> driverHandle; const uint32_t numRootDevices = 2u; L0::ContextImp *context = nullptr; @@ -5731,7 +5733,8 @@ struct AllocHostMemoryTest : public ::testing::Test { TEST_F(AllocHostMemoryTest, whenCallingAllocHostMemThenAllocateGraphicsMemoryWithPropertiesIsCalledTheNumberOfTimesOfRootDevices) { - L0UltHelper::cleanupUsmAllocPoolsAndReuse(driverHandle.get()); + DebugManagerStateRestore restorer; + NEO::debugManager.flags.EnableHostUsmAllocationPool.set(0); void *ptr = nullptr; static_cast(driverHandle->getMemoryManager())->isMockHostMemoryManager = true; @@ -5749,7 +5752,8 @@ TEST_F(AllocHostMemoryTest, TEST_F(AllocHostMemoryTest, whenCallingAllocHostMemAndFailingOnCreatingGraphicsAllocationThenNullIsReturned) { - L0UltHelper::cleanupUsmAllocPoolsAndReuse(driverHandle.get()); + DebugManagerStateRestore restorer; + NEO::debugManager.flags.EnableHostUsmAllocationPool.set(0); static_cast(driverHandle->getMemoryManager())->isMockHostMemoryManager = true; static_cast(driverHandle->getMemoryManager())->forceFailureInPrimaryAllocation = true; @@ -5767,7 +5771,8 @@ TEST_F(AllocHostMemoryTest, TEST_F(AllocHostMemoryTest, whenCallingAllocHostMemAndFailingOnCreatingGraphicsAllocationWithHostPointerThenNullIsReturned) { - L0UltHelper::cleanupUsmAllocPoolsAndReuse(driverHandle.get()); + DebugManagerStateRestore restorer; + NEO::debugManager.flags.EnableHostUsmAllocationPool.set(0); static_cast(driverHandle->getMemoryManager())->isMockHostMemoryManager = true; static_cast(driverHandle->getMemoryManager())->forceFailureInAllocationWithHostPointer = true; diff --git a/level_zero/core/test/unit_tests/sources/memory/test_memory_pooling.cpp b/level_zero/core/test/unit_tests/sources/memory/test_memory_pooling.cpp index 1e555da93a..982e5a48c9 100644 --- a/level_zero/core/test/unit_tests/sources/memory/test_memory_pooling.cpp +++ b/level_zero/core/test/unit_tests/sources/memory/test_memory_pooling.cpp @@ -31,6 +31,7 @@ struct AllocUsmPoolMemoryTest : public ::testing::Test { NEO::debugManager.flags.EnableHostUsmAllocationPool.set(hostUsmPoolFlag); NEO::debugManager.flags.EnableDeviceUsmAllocationPool.set(deviceUsmPoolFlag); NEO::debugManager.flags.EnableUsmAllocationPoolManager.set(usmPoolManagerFlag); + NEO::debugManager.flags.EnableUsmPoolLazyInit.set(-1); executionEnvironment = new NEO::ExecutionEnvironment(); executionEnvironment->prepareRootDeviceEnvironments(numRootDevices); diff --git a/level_zero/core/test/unit_tests/sources/memory/test_memory_wddm.cpp b/level_zero/core/test/unit_tests/sources/memory/test_memory_wddm.cpp index 331e0b0999..9c830f9137 100644 --- a/level_zero/core/test/unit_tests/sources/memory/test_memory_wddm.cpp +++ b/level_zero/core/test/unit_tests/sources/memory/test_memory_wddm.cpp @@ -379,6 +379,7 @@ TEST_F(MemoryOpenIpcHandleTest, struct HostUsmPoolMemoryOpenIpcHandleTest : public MemoryIPCTests { void SetUp() override { NEO::debugManager.flags.EnableHostUsmAllocationPool.set(1); + NEO::debugManager.flags.EnableUsmPoolLazyInit.set(-1); MemoryIPCTests::SetUp(); } diff --git a/shared/source/debug_settings/debug_variables_base.inl b/shared/source/debug_settings/debug_variables_base.inl index b52b335352..0ab1155202 100644 --- a/shared/source/debug_settings/debug_variables_base.inl +++ b/shared/source/debug_settings/debug_variables_base.inl @@ -441,6 +441,7 @@ DECLARE_DEBUG_VARIABLE(int32_t, EnableDeviceUsmAllocationPool, -1, "-1: default DECLARE_DEBUG_VARIABLE(int32_t, EnableHostUsmAllocationPool, -1, "-1: default (enabled, 2MB), 0: disabled, >=1: enabled, size in MB") DECLARE_DEBUG_VARIABLE(int32_t, EnableUsmAllocationPoolManager, -1, "-1: default, 0: disabled, 1: enabled, use growing pools") DECLARE_DEBUG_VARIABLE(int32_t, EnableUsmPoolResidencyTracking, -1, "-1: default, 0: disabled, 1: enabled, track residency per chunk") +DECLARE_DEBUG_VARIABLE(int32_t, EnableUsmPoolLazyInit, -1, "-1: default, 0: disabled, 1: enabled, initialize usm pools on first alloc") DECLARE_DEBUG_VARIABLE(int32_t, UseLocalPreferredForCacheableBuffers, -1, "Use localPreferred for cacheable buffers") DECLARE_DEBUG_VARIABLE(int32_t, EnableCopyWithStagingBuffers, -1, "Enable copy with non-usm memory through staging buffers. -1: default, 0: disabled, 1: enabled") DECLARE_DEBUG_VARIABLE(int32_t, StagingBufferSize, -1, "Size of single staging buffer. -1: default (2MB), >0: size in KB") diff --git a/shared/test/common/test_files/igdrcl.config b/shared/test/common/test_files/igdrcl.config index 6460bf5485..1d8ba9066f 100644 --- a/shared/test/common/test_files/igdrcl.config +++ b/shared/test/common/test_files/igdrcl.config @@ -678,4 +678,5 @@ SplitBcsPerEngineMaxSize = -1 PrintSecondaryContextEngineInfo = 0 HostFunctionWorkMode = -1 EnableUsmPoolResidencyTracking = -1 +EnableUsmPoolLazyInit = -1 # Please don't edit below this line