Add test to allocate SDMA queue on specific engine

Change-Id: I5b5140e4119fc01db250d63cca7389cf80ec0d16
Signed-off-by: Oak Zeng <ozeng@amd.com>


[ROCm/ROCR-Runtime commit: af5b320c47]
Tento commit je obsažen v:
Oak Zeng
2018-11-12 16:14:14 -06:00
rodič 0ad77ef647
revize 5d15953efb
+29
Zobrazit soubor
@@ -105,6 +105,35 @@ TEST_F(KFDQMTest, CreateSdmaQueue) {
TEST_END
}
TEST_F(KFDQMTest, CreateSdmaQueueOnEngine) {
TEST_START(TESTPROFILE_RUNALL)
int defaultGPUNode = m_NodeInfo.HsaDefaultGPUNode();
ASSERT_GE(defaultGPUNode, 0) << "failed to get default GPU Node";
unsigned int numSdmaEngine;
if (m_FamilyId == FAMILY_RV)
numSdmaEngine = 1;
else
numSdmaEngine = 2;
HsaMemoryBuffer destBuf(PAGE_SIZE, defaultGPUNode, false);
SDMAQueue queue;
//How to get number of sdma engine?
for (int i = 0; i < numSdmaEngine; i++) {
destBuf.Fill(0xFF);
ASSERT_SUCCESS(queue.Create(defaultGPUNode, BaseQueue::DEFAULT_QUEUE_SIZE, NULL, i));
queue.PlaceAndSubmitPacket(SDMAWriteDataPacket(destBuf.As<void *>(), 0x02020202));
queue.Wait4PacketConsumption();
ASSERT_TRUE(WaitOnValue(destBuf.As<unsigned int*>(), 0x02020202));
ASSERT_SUCCESS(queue.Destroy());
}
TEST_END
}
TEST_F(KFDQMTest, CreateMultipleSdmaQueues) {
TEST_START(TESTPROFILE_RUNALL)