mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-11 06:05:49 +00:00
Changes to support concurrent simulation of all the branch predictor sweeps.
This commit is contained in:
parent
93c356d50d
commit
3dfca61c3f
@ -276,7 +276,7 @@ def SelectPartition(xlabelListBig, seriesDictBig, group, BenchPerRow):
|
|||||||
return(xlabelListTrunk, seriesDictTrunk)
|
return(xlabelListTrunk, seriesDictTrunk)
|
||||||
|
|
||||||
|
|
||||||
def ReportAsGraph(benchmarkDict, bar):
|
def ReportAsGraph(benchmarkDict, bar, FileName):
|
||||||
def FormatToPlot(currBenchmark):
|
def FormatToPlot(currBenchmark):
|
||||||
names = []
|
names = []
|
||||||
sizes = []
|
sizes = []
|
||||||
@ -330,8 +330,8 @@ def ReportAsGraph(benchmarkDict, bar):
|
|||||||
axes.set_xticks(xdata)
|
axes.set_xticks(xdata)
|
||||||
axes.set_xticklabels(xdata)
|
axes.set_xticklabels(xdata)
|
||||||
axes.grid(color='b', alpha=0.5, linestyle='dashed', linewidth=0.5)
|
axes.grid(color='b', alpha=0.5, linestyle='dashed', linewidth=0.5)
|
||||||
plt.show()
|
if(FileName == None): plt.show()
|
||||||
|
else: plt.savefig(FileName)
|
||||||
|
|
||||||
# if(not args.summary):
|
# if(not args.summary):
|
||||||
# size = len(benchmarkDict)
|
# size = len(benchmarkDict)
|
||||||
@ -390,7 +390,7 @@ def ReportAsGraph(benchmarkDict, bar):
|
|||||||
# on each piece.
|
# on each piece.
|
||||||
for row in range(0, math.ceil(NumBenchmarks / BenchPerRow)):
|
for row in range(0, math.ceil(NumBenchmarks / BenchPerRow)):
|
||||||
(xlabelListTrunk, seriesDictTrunk) = SelectPartition(xlabelListBig, seriesDictBig, row, BenchPerRow)
|
(xlabelListTrunk, seriesDictTrunk) = SelectPartition(xlabelListBig, seriesDictBig, row, BenchPerRow)
|
||||||
FileName = 'barSegment%d.png' % row
|
FileName = 'barSegment%d.svg' % row
|
||||||
groupLen = len(xlabelListTrunk)
|
groupLen = len(xlabelListTrunk)
|
||||||
BarGraph(seriesDictTrunk, xlabelListTrunk, groupLen, FileName, (row == 0))
|
BarGraph(seriesDictTrunk, xlabelListTrunk, groupLen, FileName, (row == 0))
|
||||||
|
|
||||||
@ -415,7 +415,8 @@ displayMode.add_argument('--text', action='store_const', help='Display in text f
|
|||||||
displayMode.add_argument('--table', action='store_const', help='Display in text format only.', default=False, const=True)
|
displayMode.add_argument('--table', action='store_const', help='Display in text format only.', default=False, const=True)
|
||||||
displayMode.add_argument('--gui', action='store_const', help='Display in text format only.', default=False, const=True)
|
displayMode.add_argument('--gui', action='store_const', help='Display in text format only.', default=False, const=True)
|
||||||
displayMode.add_argument('--debug', action='store_const', help='Display in text format only.', default=False, const=True)
|
displayMode.add_argument('--debug', action='store_const', help='Display in text format only.', default=False, const=True)
|
||||||
parser.add_argument('sources', nargs=1)
|
parser.add_argument('sources', nargs=1, help='File lists the input Questa transcripts to process.')
|
||||||
|
parser.add_argument('FileName', metavar='FileName', type=str, nargs='?', help='output graph to file <name>.png If not included outputs to screen.', default=None)
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
@ -455,7 +456,7 @@ if(ReportMode == 'text'):
|
|||||||
ReportAsText(benchmarkDict)
|
ReportAsText(benchmarkDict)
|
||||||
|
|
||||||
if(ReportMode == 'gui'):
|
if(ReportMode == 'gui'):
|
||||||
ReportAsGraph(benchmarkDict, args.bar)
|
ReportAsGraph(benchmarkDict, args.bar, args.FileName)
|
||||||
|
|
||||||
# *** this is only needed of -b (no -s)
|
# *** this is only needed of -b (no -s)
|
||||||
|
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
gshare6.log gshare 6
|
../logs/rv32gc_gshare6.log gshare 6
|
||||||
gshare8.log gshare 8
|
../logs/rv32gc_gshare8.log gshare 8
|
||||||
gshare10.log gshare 10
|
../logs/rv32gc_gshare10.log gshare 10
|
||||||
gshare12.log gshare 12
|
../logs/rv32gc_gshare12.log gshare 12
|
||||||
gshare14.log gshare 14
|
../logs/rv32gc_gshare14.log gshare 14
|
||||||
gshare16.log gshare 16
|
../logs/rv32gc_gshare16.log gshare 16
|
||||||
twobit6.log twobit 6
|
../logs/rv32gc_twobit6.log twobit 6
|
||||||
twobit8.log twobit 8
|
../logs/rv32gc_twobit8.log twobit 8
|
||||||
twobit10.log twobit 10
|
../logs/rv32gc_twobit10.log twobit 10
|
||||||
twobit12.log twobit 12
|
../logs/rv32gc_twobit12.log twobit 12
|
||||||
twobit14.log twobit 14
|
../logs/rv32gc_twobit14.log twobit 14
|
||||||
twobit16.log twobit 16
|
../logs/rv32gc_twobit16.log twobit 16
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
btb6.log btb 6
|
../logs/rv32gc_BTB6.log btb 6
|
||||||
btb8.log btb 8
|
../logs/rv32gc_BTB8.log btb 8
|
||||||
btb10.log btb 10
|
../logs/rv32gc_BTB10.log btb 10
|
||||||
btb12.log btb 12
|
../logs/rv32gc_BTB12.log btb 12
|
||||||
btb14.log btb 14
|
../logs/rv32gc_BTB14.log btb 14
|
||||||
btb16.log btb 16
|
../logs/rv32gc_BTB16.log btb 16
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
class6.log class 6
|
../logs/rv32gc_class6.log class 6
|
||||||
class8.log class 8
|
../logs/rv32gc_class8.log class 8
|
||||||
class10.log class 10
|
../logs/rv32gc_class10.log class 10
|
||||||
class12.log class 12
|
../logs/rv32gc_class12.log class 12
|
||||||
class14.log class 14
|
../logs/rv32gc_class14.log class 14
|
||||||
class16.log class 16
|
../logs/rv32gc_class16.log class 16
|
||||||
|
@ -132,7 +132,7 @@ def main():
|
|||||||
# BTB and class size sweep
|
# BTB and class size sweep
|
||||||
bpdSize = [6, 8, 10, 12, 14, 16]
|
bpdSize = [6, 8, 10, 12, 14, 16]
|
||||||
for CurrBPSize in bpdSize:
|
for CurrBPSize in bpdSize:
|
||||||
name = 'BTB'+str(CurrBPSize)
|
name = 'class'+str(CurrBPSize)
|
||||||
configOptions = "+define+INSTR_CLASS_PRED=1 +define+BPRED_OVERRIDE +define+BPRED_TYPE=\`BP_GSHARE" + "+define+BPRED_SIZE=16" + "+define+RAS_SIZE=16+define+BTB_SIZE=" + str(CurrBPSize) + "+define+BTB_OVERRIDE"
|
configOptions = "+define+INSTR_CLASS_PRED=1 +define+BPRED_OVERRIDE +define+BPRED_TYPE=\`BP_GSHARE" + "+define+BPRED_SIZE=16" + "+define+RAS_SIZE=16+define+BTB_SIZE=" + str(CurrBPSize) + "+define+BTB_OVERRIDE"
|
||||||
tc = TestCase(
|
tc = TestCase(
|
||||||
name=name,
|
name=name,
|
||||||
|
Loading…
Reference in New Issue
Block a user