kfdtest: query userptr pointer alloc flags

Test if query userptr pointer info return correct alloc flags,
CoarseGrain by default.

Test if query hsaKmtAllocMemory pointer info return correct alloc
CoarseGrain flags.



Change-Id: If3a1175645717e5d7c475d6ff35b02d6876a1f7c
Signed-off-by: Philip Yang <Philip.Yang@amd.com>
This commit is contained in:
Philip Yang
2021-07-21 17:16:01 -04:00
parent db288df695
commit c3c1618db7
+3
View File
@@ -1389,6 +1389,7 @@ TEST_F(KFDMemoryTest, QueryPointerInfo) {
EXPECT_EQ(ptrInfo.CPUAddress, hostBuffer.As<void*>());
EXPECT_EQ(ptrInfo.GPUAddress, (HSAuint64)hostBuffer.As<void*>());
EXPECT_EQ(ptrInfo.SizeInBytes, (HSAuint64)hostBuffer.Size());
EXPECT_EQ(ptrInfo.MemFlags.ui32.CoarseGrain, 0);
if (is_dgpu()) {
EXPECT_EQ((HSAuint64)ptrInfo.NMappedNodes, nGPU);
// Check NMappedNodes again after unmapping the memory
@@ -1407,6 +1408,7 @@ TEST_F(KFDMemoryTest, QueryPointerInfo) {
EXPECT_EQ(ptrInfo.CPUAddress, localBuffer.As<void*>());
EXPECT_EQ(ptrInfo.GPUAddress, (HSAuint64)localBuffer.As<void*>());
EXPECT_EQ(ptrInfo.SizeInBytes, (HSAuint64)localBuffer.Size());
EXPECT_EQ(ptrInfo.MemFlags.ui32.CoarseGrain, 1);
HSAuint32 *addr = localBuffer.As<HSAuint32 *>() + 4;
EXPECT_SUCCESS(hsaKmtQueryPointerInfo(reinterpret_cast<void *>(addr), &ptrInfo));
@@ -1425,6 +1427,7 @@ TEST_F(KFDMemoryTest, QueryPointerInfo) {
EXPECT_EQ(ptrInfo.SizeInBytes, sizeof(HSAuint32)*2);
EXPECT_EQ(ptrInfo.NRegisteredNodes, 0);
EXPECT_EQ(ptrInfo.NMappedNodes, nGPU);
EXPECT_EQ(ptrInfo.MemFlags.ui32.CoarseGrain, 1);
// Register to nodes
HSAuint32 nodes[nGPU];
for (unsigned int i = 0; i < nGPU; i++)