mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-25 05:24:02 +08:00
Force 64KB page size for cpu alignment in dual storage allocation
There is no need to force 2MB alignment for CPU allocation in dual storage usage. Additionaly for WSL this will allow to avoid usage of malloc in driver path. Relates-To: NEO-6620 Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
4044320301
commit
7ff6a5c1fa
@@ -355,8 +355,8 @@ TEST_F(SVMLocalMemoryAllocatorTest, whenSharedAllocationIsCreatedWithDebugFlagSe
|
||||
EXPECT_EQ(allocationSize, allocation->size);
|
||||
EXPECT_EQ(mockContext.getDevice(0u), allocation->device->getSpecializedDevice<ClDevice>());
|
||||
|
||||
EXPECT_EQ(alignUp(allocationSize, 64 * KB), gpuAllocation->getUnderlyingBufferSize());
|
||||
EXPECT_EQ(alignUp(allocationSize, MemoryConstants::pageSize2Mb), allocation->cpuAllocation->getUnderlyingBufferSize());
|
||||
EXPECT_EQ(alignUp(allocationSize, MemoryConstants::pageSize64k), gpuAllocation->getUnderlyingBufferSize());
|
||||
EXPECT_EQ(alignUp(allocationSize, MemoryConstants::pageSize64k), allocation->cpuAllocation->getUnderlyingBufferSize());
|
||||
|
||||
EXPECT_EQ(AllocationType::SVM_GPU, gpuAllocation->getAllocationType());
|
||||
EXPECT_EQ(AllocationType::SVM_CPU, allocation->cpuAllocation->getAllocationType());
|
||||
@@ -384,8 +384,8 @@ TEST_F(SVMLocalMemoryAllocatorTest, whenSharedAllocationIsCreatedWithLocalMemory
|
||||
EXPECT_EQ(InternalMemoryType::SHARED_UNIFIED_MEMORY, allocation->memoryType);
|
||||
EXPECT_EQ(allocationSize, allocation->size);
|
||||
|
||||
EXPECT_EQ(alignUp(allocationSize, 64 * KB), gpuAllocation->getUnderlyingBufferSize());
|
||||
EXPECT_EQ(alignUp(allocationSize, MemoryConstants::pageSize2Mb), allocation->cpuAllocation->getUnderlyingBufferSize());
|
||||
EXPECT_EQ(alignUp(allocationSize, MemoryConstants::pageSize64k), gpuAllocation->getUnderlyingBufferSize());
|
||||
EXPECT_EQ(alignUp(allocationSize, MemoryConstants::pageSize64k), allocation->cpuAllocation->getUnderlyingBufferSize());
|
||||
|
||||
EXPECT_EQ(AllocationType::SVM_GPU, gpuAllocation->getAllocationType());
|
||||
EXPECT_EQ(AllocationType::SVM_CPU, allocation->cpuAllocation->getAllocationType());
|
||||
|
||||
@@ -408,7 +408,7 @@ void *SVMAllocsManager::createUnifiedAllocationWithDeviceStorage(size_t size, co
|
||||
auto rootDeviceIndex = unifiedMemoryProperties.device
|
||||
? unifiedMemoryProperties.device->getRootDeviceIndex()
|
||||
: *unifiedMemoryProperties.rootDeviceIndices.begin();
|
||||
size_t alignedSizeCpu = alignUp<size_t>(size, MemoryConstants::pageSize2Mb);
|
||||
size_t alignedSizeCpu = alignUp<size_t>(size, MemoryConstants::pageSize64k);
|
||||
size_t pageSizeForAlignment = MemoryConstants::pageSize64k;
|
||||
size_t alignedSizeGpu = alignUp<size_t>(size, pageSizeForAlignment);
|
||||
DeviceBitfield subDevices = unifiedMemoryProperties.subdeviceBitfields.at(rootDeviceIndex);
|
||||
@@ -417,7 +417,7 @@ void *SVMAllocsManager::createUnifiedAllocationWithDeviceStorage(size_t size, co
|
||||
alignedSizeCpu, AllocationType::SVM_CPU,
|
||||
false, // isMultiStorageAllocation
|
||||
subDevices};
|
||||
cpuProperties.alignment = MemoryConstants::pageSize2Mb;
|
||||
cpuProperties.alignment = MemoryConstants::pageSize64k;
|
||||
auto cacheRegion = MemoryPropertiesHelper::getCacheRegion(unifiedMemoryProperties.allocationFlags);
|
||||
MemoryPropertiesHelper::fillCachePolicyInProperties(cpuProperties, false, svmProperties.readOnly, false, cacheRegion);
|
||||
GraphicsAllocation *allocationCpu = memoryManager->allocateGraphicsMemoryWithProperties(cpuProperties);
|
||||
|
||||
Reference in New Issue
Block a user