From 8afec35db4431e72662331293808c693226d610a Mon Sep 17 00:00:00 2001 From: Kip Macsai-Goren Date: Tue, 25 Oct 2022 02:56:25 +0000 Subject: [PATCH] added additional cache stats to coremark postprocess script --- benchmarks/coremark/coremark-postprocess.py | 24 ++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/benchmarks/coremark/coremark-postprocess.py b/benchmarks/coremark/coremark-postprocess.py index 3ecce24c..d069e874 100644 --- a/benchmarks/coremark/coremark-postprocess.py +++ b/benchmarks/coremark/coremark-postprocess.py @@ -34,8 +34,30 @@ for lineNum in range(len(logLines)): elif "branches" in contents: branchesTot = int(contents[-1]) branchLineNum = lineNum + 2 + + if "d-cache" in contents and "misses" in contents: + dCacheMisses = int(contents[-1]) + elif "d-cache" in contents: + dCacheAccess = int(contents[-1]) + dCacheLineNum = lineNum + 2 + + if "i-cache" in contents and "misses" in contents: + ICacheMisses = int(contents[-1]) + elif "i-cache" in contents: + ICacheAccess = int(contents[-1]) + ICacheLineNum = lineNum + 2 + +# need to add the number of previously added lines to the line number so that they stay in the intedned order. +logLines.insert(dCacheLineNum, "# D-cache Hits " + str(dCacheAccess - dCacheMisses) + "\n") +logLines.insert(dCacheLineNum+1, "# D-cache Miss Rate " + str(dCacheMisses / dCacheAccess) + "\n") +logLines.insert(dCacheLineNum+2, "# D-cache Hit Rate " + str((dCacheAccess - dCacheMisses) / dCacheAccess) + "\n") + +logLines.insert(ICacheLineNum+3, "# I-cache Hits " + str(ICacheAccess - ICacheMisses) + "\n") +logLines.insert(ICacheLineNum+4, "# I-cache Miss Rate " + str(ICacheMisses / ICacheAccess) + "\n") +logLines.insert(ICacheLineNum+5, "# I-cache Hit Rate " + str((ICacheAccess - ICacheMisses) / ICacheAccess) + "\n") + +logLines.insert(branchLineNum+6, "# Branches Miss/Total ratio " + str(branchMisses / branchesTot) + "\n") -logLines.insert(branchLineNum, "# Branches Miss/Total ratio " + str(branchMisses / branchesTot) + "\n") with open(logFile, "w") as logWrite: logWrite.writelines(logLines)