Revert "fix: pass custom alignments for WSL2 device and shared memory allocat...

This reverts commit 1c98420518.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
This commit is contained in:
Compute-Runtime-Validation
2024-06-12 16:11:33 +02:00
committed by Compute-Runtime-Automation
parent 672cc0ebc7
commit 196f0a6eee
4 changed files with 3 additions and 60 deletions

View File

@@ -745,7 +745,7 @@ GraphicsAllocation *MemoryManager::allocateGraphicsMemory(const AllocationData &
if (allocationData.gpuAddress) {
return allocateGraphicsMemoryWithGpuVa(allocationData);
}
if (peek64kbPagesEnabled(allocationData.rootDeviceIndex) && allocationData.flags.allow64kbPages && (allocationData.alignment <= MemoryConstants::pageSize64k)) {
if (peek64kbPagesEnabled(allocationData.rootDeviceIndex) && allocationData.flags.allow64kbPages) {
return allocateGraphicsMemory64kb(allocationData);
}
return allocateGraphicsMemoryWithAlignment(allocationData);

View File

@@ -145,7 +145,7 @@ GraphicsAllocation *WddmMemoryManager::allocateMemoryByKMD(const AllocationData
GmmRequirements gmmRequirements{};
gmmRequirements.allowLargePages = true;
gmmRequirements.preferCompressed = allocationData.flags.preferCompressed;
auto gmm = std::make_unique<Gmm>(executionEnvironment.rootDeviceEnvironments[allocationData.rootDeviceIndex]->getGmmHelper(), allocationData.hostPtr, allocationData.size, allocationData.alignment,
auto gmm = std::make_unique<Gmm>(executionEnvironment.rootDeviceEnvironments[allocationData.rootDeviceIndex]->getGmmHelper(), allocationData.hostPtr, allocationData.size, 0u,
CacheSettingsHelper::getGmmUsageType(allocationData.type, !!allocationData.flags.uncacheable, productHelper), systemMemoryStorageInfo, gmmRequirements);
auto allocation = std::make_unique<WddmAllocation>(allocationData.rootDeviceIndex,
1u, // numGmms
@@ -259,7 +259,7 @@ GraphicsAllocation *WddmMemoryManager::allocateGraphicsMemoryUsingKmdAndMapItToC
if (alignGpuAddressTo64KB) {
void *tempCPUPtr = cpuPtr;
cpuPtr = alignUp(cpuPtr, std::max(alignUp(allocationData.alignment, MemoryConstants::pageSize64k), MemoryConstants::pageSize64k));
cpuPtr = alignUp(cpuPtr, MemoryConstants::pageSize64k);
wddmAllocation->setGpuAddress(wddmAllocation->getGpuAddress() + ptrDiff(cpuPtr, tempCPUPtr));
}
}

View File

@@ -401,33 +401,6 @@ TEST(MemoryManagerTest, givenDisabled64kbPagesWhenGraphicsMemoryMustBeHostMemory
memoryManager.freeGraphicsMemory(allocation);
}
TEST(MemoryManagerTest, givenEnabled64kbPagesWhenGraphicsMemoryIsAllocatedWithDifferentAlignmentsThenCorrectRoutineIsInvoked) {
MockExecutionEnvironment executionEnvironment(defaultHwInfo.get());
MockMemoryManager memoryManager(true, false, executionEnvironment);
AllocationData allocData;
size_t alignment = 8 * MemoryConstants::megaByte;
do {
alignment >>= 1;
AllocationProperties properties(mockRootDeviceIndex, 10, AllocationType::buffer, mockDeviceBitfield);
properties.alignment = alignment;
memoryManager.getAllocationData(allocData, properties, nullptr, memoryManager.createStorageInfoFromProperties(properties));
auto allocation = memoryManager.allocateGraphicsMemory(allocData);
ASSERT_NE(nullptr, allocation);
if (alignment <= MemoryConstants::pageSize64k) {
EXPECT_TRUE(memoryManager.allocation64kbPageCreated);
} else {
EXPECT_FALSE(memoryManager.allocation64kbPageCreated);
}
EXPECT_TRUE(memoryManager.allocationCreated);
memoryManager.freeGraphicsMemory(allocation);
} while (alignment != 0);
}
TEST(MemoryManagerTest, givenForced32BitAndEnabled64kbPagesWhenGraphicsMemoryMustBeHostMemoryAndIsAllocatedWithNullptrForBufferThen32BitAllocationOver64kbIsChosen) {
MockExecutionEnvironment executionEnvironment(defaultHwInfo.get());
MockMemoryManager memoryManager(false, false, executionEnvironment);

View File

@@ -436,36 +436,6 @@ TEST_F(WddmMemoryManagerTests, givenAllocateGraphicsMemoryUsingKmdAndMapItToCpuV
EXPECT_GT(reinterpret_cast<MockGmmClientContextBase *>(gmmHelper->getClientContext())->freeGpuVirtualAddressCalled, 0u);
}
TEST_F(WddmMemoryManagerTests, givenAllocateGraphicsMemoryUsingKmdAndMapItToCpuVAWhenCreatingSVMAllocationThenAllocationIsAligned) {
if constexpr (is32bit) {
GTEST_SKIP();
}
NEO::AllocationData allocData{};
allocData.flags.allocateMemory = 1;
allocData.flags.useSystemMemory = 1;
allocData.type = NEO::AllocationType::svmCpu;
allocData.usmInitialPlacement = NEO::GraphicsAllocation::DEFAULT;
allocData.allocationMethod = NEO::GfxMemoryAllocationMethod::allocateByKmd;
allocData.size = 1;
allocData.forceKMDAllocation = true;
allocData.makeGPUVaDifferentThanCPUPtr = true;
allocData.useMmapObject = true;
memoryManager->callBaseAllocateGraphicsMemoryUsingKmdAndMapItToCpuVA = true;
size_t alignment = 8 * MemoryConstants::megaByte;
do {
alignment >>= 1;
allocData.alignment = alignment;
auto allocation = memoryManager->allocateGraphicsMemoryUsingKmdAndMapItToCpuVA(allocData, false);
const auto cpuPtr = allocation->getUnderlyingBuffer();
EXPECT_NE(nullptr, cpuPtr);
if (alignment != 0) {
EXPECT_EQ(reinterpret_cast<uintptr_t>(cpuPtr) & (~(alignment - 1)), reinterpret_cast<uintptr_t>(cpuPtr));
}
memoryManager->freeGraphicsMemory(allocation);
} while (alignment != 0);
}
TEST_F(WddmMemoryManagerAllocPathTests, givenAllocateGraphicsMemoryUsingKmdAndMapItToCpuVAWhen32bitThenProperAddressSet) {
if constexpr (is64bit) {
GTEST_SKIP();