-
Notifications
You must be signed in to change notification settings - Fork 0
/
pbsconfig.py.example
66 lines (49 loc) · 2.41 KB
/
pbsconfig.py.example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import os
import sys
# Paths and binaries ==========================================================
rootdir = os.getenv("SIMROOT")
if rootdir == None:
print "Envirionment variable SIMROOT not set. Quitting..."
sys.exit(-1)
bmroot = os.getenv("BMROOT")
if rootdir == None:
print "Envirionment variable BMROOT not set. Quitting..."
sys.exit(-1)
simbinary = rootdir+'/trunk/m5/build/ALPHA_SE/m5.opt'
configfile = rootdir+'/trunk/m5/configs/CMP/run.py'
experimentpath = '/home/jahre/run/adaptive'
benchmarkroot = bmroot+'/splash2/codes/'
# Experiment Settings =========================================================
experimentname = 'novelMHA'
simticks = 100000000
fwticks = 500000000
number_of_cpus = [4]
#benchmarks = ['Cholesky', 'Barnes', 'FFT', 'OceanContig', 'LUContig', 'LUNoncontig', 'OceanNoncontig', 'WaterNSquared', 'WaterSpatial', 'FMM', 'Raytrace', 'Radix']
#benchmarks = ['gzip', 'vpr', 'gcc', 'mcf', 'crafty', 'parser', 'eon', 'perlbmk', 'gap', 'bzip', 'twolf', 'wupwise', 'swim', 'mgrid', 'applu', 'galgel', 'art', 'equake', 'facerec', 'ammp', 'lucas', 'fma3d', 'sixtrack' ,'apsi', 'mesa', 'vortex1']
benchmarks = range(1,41)
#benchmarks = [10]
#benchmarks = [27,17,7,4,10,2,16,34,24] #test-benchmarks
protocols = ['none']
interconnects = ['crossbar'] #['myBus', 'crossbar', 'idealwdelay'] #pipeBus
shared_L2 = True
l1mshrs = [16]
l1mshrTargets = [4]
l2mshrs = [16]
l2mshrTargets = [4]
useAdaptiveMHA = True
adaptiveMHAThresholds = [(0.90,0.99)]
adaptiveRepeats = [1,3,5,10,20]
#adaptiveMHAThresholds = [(0.80,0.90),(0.85,0.95),(0.90,0.99),(0.95,0.99)]
#adaptiveMHAThresholds = [(0.80,0.90),(0.85,0.95)]
#adaptiveRepeats = [3]
# Utility Methods =============================================================
# new_patterns format: [(pattern, cpu_id|"all", db_field_num)
# NOTE: db_field_num starts at 0
def add_to_patterns(all_patterns, new_patterns, db_table_name):
for new_pattern in new_patterns:
current_pattern, np, db_field_num = new_pattern
if current_pattern not in all_patterns:
all_patterns[current_pattern] = {}
all_patterns[current_pattern][np] = (db_table_name, db_field_num)
def get_unique_id(np, benchmark, L1mshrs, L2mshrs, L1targets, L2targets, adaptiveLow, adaptiveHigh, repeats):
return experimentname+'_'+str(np)+'_'+str(benchmark)+'_L1'+str(L1mshrs)+'-'+str(L1targets)+'_L2'+str(L2mshrs)+'-'+str(L2targets)+"-"+str(int(adaptiveLow*100))+str(int(adaptiveHigh*100))+"-"+str(repeats)