From 4d68f1de43691ca0a2d41e9636f759c79227f120 Mon Sep 17 00:00:00 2001 From: Damian Tomczak Date: Mon, 23 Sep 2024 12:15:47 +0000 Subject: [PATCH] refactor: stateless unification for l0 Related-to: NEO-11859 Signed-off-by: Damian Tomczak --- level_zero/core/source/cmdlist/cmdlist_hw.inl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/level_zero/core/source/cmdlist/cmdlist_hw.inl b/level_zero/core/source/cmdlist/cmdlist_hw.inl index 81907079c9..138697b912 100644 --- a/level_zero/core/source/cmdlist/cmdlist_hw.inl +++ b/level_zero/core/source/cmdlist/cmdlist_hw.inl @@ -1393,7 +1393,6 @@ ze_result_t CommandListCoreFamily::appendPageFaultCopy(NEO::Graph size_t middleElSize = sizeof(uint32_t) * 4; uintptr_t rightSize = size % middleElSize; bool isStateless = this->cmdListHeapAddressModel == NEO::HeapAddressModel::globalStateless; - if (size >= 4ull * MemoryConstants::gigaByte) { isStateless = true; } @@ -1480,6 +1479,9 @@ ze_result_t CommandListCoreFamily::appendMemoryCopy(void *dstptr, uintptr_t rightSize = 0; uintptr_t middleSizeBytes = 0; bool isStateless = (this->cmdListHeapAddressModel == NEO::HeapAddressModel::globalStateless) || this->isStatelessBuiltinsEnabled(); + if (size >= 4ull * MemoryConstants::gigaByte) { + isStateless = true; + } const bool isHeapless = this->isHeaplessModeEnabled(); @@ -1505,10 +1507,6 @@ ze_result_t CommandListCoreFamily::appendMemoryCopy(void *dstptr, DEBUG_BREAK_IF(size != leftSize + middleSizeBytes + rightSize); - if (size >= 4ull * MemoryConstants::gigaByte) { - isStateless = true; - } - kernelCounter = leftSize > 0 ? 1 : 0; kernelCounter += middleSizeBytes > 0 ? 1 : 0; kernelCounter += rightSize > 0 ? 1 : 0; @@ -1943,6 +1941,10 @@ ze_result_t CommandListCoreFamily::appendMemoryFill(void *ptr, uint32_t numWaitEvents, ze_event_handle_t *phWaitEvents, bool relaxedOrderingDispatch) { bool isStateless = (this->cmdListHeapAddressModel == NEO::HeapAddressModel::globalStateless) || this->isStatelessBuiltinsEnabled(); + if (size >= 4ull * MemoryConstants::gigaByte) { + isStateless = true; + } + const bool isHeapless = this->isHeaplessModeEnabled(); NEO::Device *neoDevice = device->getNEODevice(); @@ -2004,9 +2006,7 @@ ze_result_t CommandListCoreFamily::appendMemoryFill(void *ptr, if (dstAllocation.alloc == nullptr) { return ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY; } - if (size >= 4ull * MemoryConstants::gigaByte) { - isStateless = true; - } + auto lock = device->getBuiltinFunctionsLib()->obtainUniqueOwnership(); auto builtin = (patternSize == 1)