From 9143e9bb4ea104933c7cda3de5abbd3b923bf67e Mon Sep 17 00:00:00 2001 From: Wilson Fung Date: Thu, 4 Jul 2013 11:26:37 -0800 Subject: 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] --- CHANGES | 2 ++ aerialvision/lexyacc.py | 9 +++++++++ 2 files changed, 11 insertions(+) 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): -- cgit v1.3