From 690a1484274a87d56f36cb849500d72a3153b31a Mon Sep 17 00:00:00 2001 From: Yong Zhao Date: Thu, 21 May 2020 23:29:41 -0400 Subject: [PATCH] kfdtest: Add a simple test case to test local memory Given the chance of local memory breakage is so high on emulators, we should use this simple test to check the local memory function. Signed-off-by: Yong Zhao Change-Id: Ifc48c12e11d75cc777ed7ea13e03bf54c2458e12 --- tests/kfdtest/scripts/kfdtest.exclude | 1 + tests/kfdtest/src/KFDLocalMemoryTest.cpp | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/tests/kfdtest/scripts/kfdtest.exclude b/tests/kfdtest/scripts/kfdtest.exclude index cc307c1300..e20c5ad73f 100644 --- a/tests/kfdtest/scripts/kfdtest.exclude +++ b/tests/kfdtest/scripts/kfdtest.exclude @@ -20,6 +20,7 @@ FILTER[core_sws]=\ "KFDQMTest.AllSdmaQueues:"\ "KFDQMTest.AllXgmiSdmaQueues:"\ "KFDQMTest.AllQueues:"\ +"KFDLocalMemoryTest.AccessLocalMem:"\ "KFDEventTest.SignalEvent" # HWS mode diff --git a/tests/kfdtest/src/KFDLocalMemoryTest.cpp b/tests/kfdtest/src/KFDLocalMemoryTest.cpp index 4c86594ab9..33f33dc869 100644 --- a/tests/kfdtest/src/KFDLocalMemoryTest.cpp +++ b/tests/kfdtest/src/KFDLocalMemoryTest.cpp @@ -50,6 +50,28 @@ void KFDLocalMemoryTest::TearDown() { ROUTINE_END } +TEST_F(KFDLocalMemoryTest, AccessLocalMem) { + TEST_START(TESTPROFILE_RUNALL) + + int defaultGPUNode = m_NodeInfo.HsaDefaultGPUNode(); + ASSERT_GE(defaultGPUNode, 0) << "failed to get default GPU Node"; + + //local memory + HsaMemoryBuffer destBuf(PAGE_SIZE, defaultGPUNode, false, true); + + PM4Queue queue; + + ASSERT_SUCCESS(queue.Create(defaultGPUNode)); + + queue.PlaceAndSubmitPacket(PM4WriteDataPacket(destBuf.As(), 0, 0)); + + queue.Wait4PacketConsumption(); + + EXPECT_SUCCESS(queue.Destroy()); + + TEST_END +} + TEST_F(KFDLocalMemoryTest, BasicTest) { TEST_REQUIRE_ENV_CAPABILITIES(ENVCAPS_64BITLINUX); TEST_START(TESTPROFILE_RUNALL);