summaryrefslogtreecommitdiff
path: root/aerialvision
diff options
context:
space:
mode:
Diffstat (limited to 'aerialvision')
-rw-r--r--aerialvision/guiclasses.py13
-rw-r--r--aerialvision/lexyacc.py2
-rw-r--r--aerialvision/organizedata.py9
3 files changed, 21 insertions, 3 deletions
diff --git a/aerialvision/guiclasses.py b/aerialvision/guiclasses.py
index 7e2379b..0a7013b 100644
--- a/aerialvision/guiclasses.py
+++ b/aerialvision/guiclasses.py
@@ -1049,6 +1049,19 @@ class graphManager:
Legendname.append('W' + `4*(c-2)+1` + ':' + `4*(c-1)`)
BarSequence = range(0,numRows)
+ if yAxis == 'WarpIssueSlotBreakdown':
+ Legendname = []
+ for c in range(0, numRows):
+ Legendname.append('W' + `c`)
+ BarSequence = range(0,numRows)
+
+ dynamic_warp_resolution = 32
+ if yAxis == 'WarpIssueDynamicIdBreakdown':
+ Legendname = []
+ for c in range(0, numRows):
+ Legendname.append('W' + `dynamic_warp_resolution*c` + ":" + `dynamic_warp_resolution*(c+1)`)
+ BarSequence = range(0,numRows)
+
yoff_max = numpy.array([0.0] * numCols)
for row in range(numRows-1,-1,-1):
yoff_max += y[row]
diff --git a/aerialvision/lexyacc.py b/aerialvision/lexyacc.py
index c434619..de4e732 100644
--- a/aerialvision/lexyacc.py
+++ b/aerialvision/lexyacc.py
@@ -176,6 +176,8 @@ def parseMe(filename):
'LDmemlatdist':vc.variable('', 3, 0, 'stackbar'),
'STmemlatdist':vc.variable('', 3, 0, 'stackbar'),
'WarpDivergenceBreakdown':vc.variable('', 3, 0, 'stackbar'),
+ 'WarpIssueSlotBreakdown':vc.variable('', 3, 0, 'stackbar'),
+ 'WarpIssueDynamicIdBreakdown':vc.variable('', 3, 0, 'stackbar'),
'dram_writes_per_cycle':vc.variable('', 1, 0, 'scalar', float),
'dram_reads_per_cycle' :vc.variable('', 1, 0, 'scalar', float),
'gpu_stall_by_MSHRwb':vc.variable('', 1, 0, 'scalar'),
diff --git a/aerialvision/organizedata.py b/aerialvision/organizedata.py
index 0b547b3..090b90f 100644
--- a/aerialvision/organizedata.py
+++ b/aerialvision/organizedata.py
@@ -193,12 +193,12 @@ def nullOrganizedShader(nullVar, datatype_c):
organized = []
#determining how many shader cores are present
- for x in nullVar:
+ for x in reversed(nullVar):
if x != 'NULL':
count += 1
- else:
- numPlots = count
+ elif count != 0:
break
+ numPlots = count
count = 0
#initializing 2D list
@@ -208,6 +208,9 @@ def nullOrganizedShader(nullVar, datatype_c):
#filling up list appropriately
for x in range(0,(len(nullVar))):
if nullVar[x] == 'NULL':
+ while count < numPlots:
+ organized[count].append(0)
+ count += 1
count=0
else:
organized[count].append(nullVar[x])