summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilson Fung <[email protected]>2013-07-04 11:26:37 -0800
committerAndrew Boktor <[email protected]>2014-08-14 13:50:57 -0700
commit9143e9bb4ea104933c7cda3de5abbd3b923bf67e (patch)
tree78d7a037d5b217a9791a9161910a395751100c67
parentf9b930c85fd244c5819eed7971f54e608258a0f7 (diff)
Updated the aerialvision log parser to detect for metric sample that contains no data. Instead of crashing, it prints out an warning and proceeds.
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 16569]
-rw-r--r--CHANGES2
-rw-r--r--aerialvision/lexyacc.py9
2 files changed, 11 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
index 88657d1..70a263d 100644
--- a/CHANGES
+++ b/CHANGES
@@ -46,6 +46,8 @@ Version 3.2.1+edits (development branch) versus 3.2.1
- Fixed a dependency error in the src/cuda-sim Makefile.
- Fixing a source of non-determinism in GPGPU-Sim (Bug 147).
- Eliminated some memory leaks in the pure functional simulator
+ - Added check to AerialVision to detect and warn about performance metric
+ entries with no data.
Version 3.2.1 versus 3.2.0
- Added kernel name and launch uids to performance statistics log.
diff --git a/aerialvision/lexyacc.py b/aerialvision/lexyacc.py
index de4e732..d657383 100644
--- a/aerialvision/lexyacc.py
+++ b/aerialvision/lexyacc.py
@@ -212,12 +212,21 @@ def parseMe(filename):
inputData = 'NULL'
+ # a table containing all the metrics that has received the missing data warning
+ stat_missing_warned = {}
def p_sentence(p):
'''sentence : WORD NUMBERSEQUENCE'''
#print p[0], p[1],p[2]
num = p[2].split(" ")
+ # detect empty data entry for particular metric and print a warning
+ if p[2] == '':
+ if not p[1] in stat_missing_warned:
+ print "WARNING: Sample entry for metric '%s' has no data. Skipping..." % p[1]
+ stat_missing_warned[p[1]] = True
+ return
+
lookup_input = p[1].lower()
if (lookup_input in stat_lookuptable):
if (lookup_input == "globalcyclecount") and (int(num[0]) % 10000 == 0):