diff --git a/level_zero/core/test/black_box_tests/zello_scratch.cpp b/level_zero/core/test/black_box_tests/zello_scratch.cpp index e6052f25b6..c4c80184cb 100644 --- a/level_zero/core/test/black_box_tests/zello_scratch.cpp +++ b/level_zero/core/test/black_box_tests/zello_scratch.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation + * Copyright (C) 2021-2022 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -50,7 +50,7 @@ void executeGpuKernelAndValidate(ze_context_handle_t context, ze_device_handle_t uint32_t typeSize = sizeof(uint32_t); uint32_t srcAdditionalMul = 3u; - uint32_t expectedMemorySize = arraySize * vectorSize * typeSize; + uint32_t expectedMemorySize = arraySize * vectorSize * typeSize * 2; uint32_t srcMemorySize = expectedMemorySize * srcAdditionalMul; uint32_t idxMemorySize = arraySize * sizeof(uint32_t); diff --git a/opencl/test/unit_test/memory_manager/unified_memory_manager_tests.cpp b/opencl/test/unit_test/memory_manager/unified_memory_manager_tests.cpp index e52d455089..8d35ee3709 100644 --- a/opencl/test/unit_test/memory_manager/unified_memory_manager_tests.cpp +++ b/opencl/test/unit_test/memory_manager/unified_memory_manager_tests.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019-2021 Intel Corporation + * Copyright (C) 2019-2022 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -806,6 +806,21 @@ TEST_F(UnifiedMemoryManagerPropertiesTest, svmManager->freeSVMAlloc(ptr); } +TEST_F(UnifiedMemoryManagerPropertiesTest, + given1ByteAsAllocationSizeWhenHostMemAllocIsCreatedItIsAlignedTo4k) { + std::set rootDeviceIndices{mockRootDeviceIndex}; + std::map deviceBitfields{{mockRootDeviceIndex, DeviceBitfield(0x1)}}; + SVMAllocsManager::UnifiedMemoryProperties unifiedMemoryProperties(InternalMemoryType::HOST_UNIFIED_MEMORY, rootDeviceIndices, deviceBitfields); + + svmManager->multiOsContextSupport = true; + auto ptr = svmManager->createHostUnifiedMemoryAllocation(1u, unifiedMemoryProperties); + + auto allocation = svmManager->getSVMAlloc(ptr); + EXPECT_EQ(MemoryConstants::pageSize, allocation->gpuAllocations.getDefaultGraphicsAllocation()->getUnderlyingBufferSize()); + + svmManager->freeSVMAlloc(ptr); +} + TEST_F(UnifiedMemoryManagerPropertiesTest, givenSvmManagerMultiOsContextSupportFlagFalseWhenRootDeviceIsMultiThenMultiStorageFlagFalse) { std::set rootDeviceIndices{mockRootDeviceIndex}; diff --git a/shared/source/memory_manager/unified_memory_manager.cpp b/shared/source/memory_manager/unified_memory_manager.cpp index 5e296fbe2b..e4635866e8 100644 --- a/shared/source/memory_manager/unified_memory_manager.cpp +++ b/shared/source/memory_manager/unified_memory_manager.cpp @@ -125,7 +125,7 @@ void *SVMAllocsManager::createSVMAlloc(size_t size, const SvmAllocationPropertie void *SVMAllocsManager::createHostUnifiedMemoryAllocation(size_t size, const UnifiedMemoryProperties &memoryProperties) { - size_t alignedSize = alignUp(size, MemoryConstants::pageSize64k); + size_t alignedSize = alignUp(size, MemoryConstants::pageSize); bool compressionEnabled = false; GraphicsAllocation::AllocationType allocationType = getGraphicsAllocationTypeAndCompressionPreference(memoryProperties, compressionEnabled);