Use 'RecordProperty' to record performance scores
For following test cases:
- KFDQMTest.QueueLatency
- KFDQMTest.BasicCuMaskingLinear
- KFDQMTest.BasicCuMaskingEven
- KFDMemoryTest.MMBandWidth
- KFDMemoryTest.MMapLarge
- KFDMemoryTest.MMBench
v2: xml element cannot start with a number, so change the key name of
MMBandWidth and MMBench accordingly
xml element cannot contain whitespaces, so trim whitespaces in "VRAM "
v3: introduce KFDLog-like way to use KFDRecord
Change-Id: Ifc3ed5657621252a7b39dccf1ef4f50a92593f77
Signed-off-by: Xiaojie Yuan <xiaojie.yuan@amd.com>
This commit is contained in:
@@ -176,6 +176,8 @@ TEST_F(KFDMemoryTest, MMapLarge) {
|
||||
LOG() << "Successfully registered and mapped " << (i * s >> 30)
|
||||
<< "GB system memory to gpu" << std::endl;
|
||||
|
||||
RECORD(i * s >> 30) << "Mmap-SysMem-Size";
|
||||
|
||||
while (i--) {
|
||||
EXPECT_SUCCESS(hsaKmtUnmapMemoryToGPU(reinterpret_cast<void*>(AlternateVAGPU[i])));
|
||||
EXPECT_SUCCESS(hsaKmtDeregisterMemory(reinterpret_cast<void*>(AlternateVAGPU[i])));
|
||||
@@ -1020,6 +1022,16 @@ TEST_F(KFDMemoryTest, MMBench) {
|
||||
<< std::setw(8) << mapAllTime
|
||||
<< std::setw(8) << unmapAllTime
|
||||
<< std::setw(8) << freeTime << std::endl;
|
||||
|
||||
#define MMBENCH_KEY_PREFIX memTypeStrings[memType] << "-" \
|
||||
<< (interleaveSDMA ? "SDMA" : "noSDMA") << "-" \
|
||||
<< (bufSize >> 10) << "K-"
|
||||
RECORD(allocTime) << MMBENCH_KEY_PREFIX << "alloc";
|
||||
RECORD(map1Time) << MMBENCH_KEY_PREFIX << "mapOne";
|
||||
RECORD(unmap1Time) << MMBENCH_KEY_PREFIX << "unmapOne";
|
||||
RECORD(mapAllTime) << MMBENCH_KEY_PREFIX << "mapAll";
|
||||
RECORD(unmapAllTime) << MMBENCH_KEY_PREFIX << "unmapAll";
|
||||
RECORD(freeTime) << MMBENCH_KEY_PREFIX << "free";
|
||||
}
|
||||
|
||||
TEST_END
|
||||
@@ -1551,7 +1563,7 @@ TEST_F(KFDMemoryTest, MMBandWidth) {
|
||||
const unsigned nBufs = 1000; /* measure us, report ns */
|
||||
unsigned testIndex, sizeIndex, memType;
|
||||
const unsigned nMemTypes = 2;
|
||||
const char *memTypeStrings[nMemTypes] = {"SysMem", "VRAM "};
|
||||
const char *memTypeStrings[nMemTypes] = {"SysMem", "VRAM"};
|
||||
const unsigned nSizes = 4;
|
||||
const unsigned bufSizes[nSizes] = {PAGE_SIZE, PAGE_SIZE*4, PAGE_SIZE*16, PAGE_SIZE*64};
|
||||
const unsigned nTests = nSizes * nMemTypes;
|
||||
@@ -1641,14 +1653,22 @@ TEST_F(KFDMemoryTest, MMBandWidth) {
|
||||
for (i = 0; i < nBufs; i++)
|
||||
EXPECT_SUCCESS(hsaKmtFreeMemory(bufs[i], bufSize));
|
||||
|
||||
LOG() << std::dec << std::setiosflags(std::ios::right)
|
||||
<< std::setw(3) << (bufSize >> 10) << "K-"
|
||||
<< memTypeStrings[memType] << "\t"
|
||||
LOG() << std::dec
|
||||
<< std::right << std::setw(3) << (bufSize >> 10) << "K-"
|
||||
<< std::left << std::setw(14) << memTypeStrings[memType]
|
||||
<< std::right
|
||||
<< std::setw(12) << mcpRTime
|
||||
<< std::setw(12) << mcpWTime
|
||||
<< std::setw(12) << accessRTime
|
||||
<< std::setw(12) << accessWTime
|
||||
<< std::endl;
|
||||
|
||||
#define MMBANDWIDTH_KEY_PREFIX memTypeStrings[memType] << "-" \
|
||||
<< (bufSize >> 10) << "K" << "-"
|
||||
RECORD(mcpRTime) << MMBANDWIDTH_KEY_PREFIX << "mcpRTime";
|
||||
RECORD(mcpWTime) << MMBANDWIDTH_KEY_PREFIX << "mcpWTime";
|
||||
RECORD(accessRTime) << MMBANDWIDTH_KEY_PREFIX << "accessRTime";
|
||||
RECORD(accessWTime) << MMBANDWIDTH_KEY_PREFIX << "accessWTime";
|
||||
}
|
||||
|
||||
munmap(tmp, tmpBufferSize);
|
||||
|
||||
Referens i nytt ärende
Block a user