from make_configs import makeConfigs
from main_script import runBenchmarksOnTestSets, extractDataFromResults


# il1 and dl1 cache block size are fixed at ifqize * 8
il1 = ["il1:%s:%s:1:l" %(int(1024/x),x*8) for x in [1,2,4,8,16]]
dl1 = ["dl1:%s:%s:1:l" %(int(1024/x),x*8) for x in [1,2,4,8,16]]


makeConfigs("ex_ifq_speed_decode", 
	{'fetch:ifqsize': [1,2,4,8,16], 'fetch:speed': range(1,5), 'decode:width': [1,2,4,8,16],
	 'cache:il1': il1,
	 'cache:dl1': dl1
	 },
	{}
)

# Run tests
runBenchmarksOnTestSets(["ex_ifq_speed_decode"])

# Retrieve results
#extractDataFromResults(["sim_IPC"], ["ex_ifq_speed_decode"])
예제 #2
0
from make_configs import makeConfigs
from main_script import runBenchmarksOnTestSets, extractDataFromResults

# Calculate the baseline
makeConfigs("baseline", 
	{},
	{}
)

# Run tests
runBenchmarksOnTestSets(["baseline"])

# Retrieve results
extractDataFromResults(["sim_IPC"], ["baseline"])
예제 #3
0
from make_configs import makeConfigs
from main_script import runBenchmarksOnTestSets, extractDataFromResults

# ['itlb:256:4096:1:l', 'itlb:128:4096:2:l', 'itlb:64:4096:4:l', 'itlb:32:4096:8:l', 'itlb:16:4096:16:l', 'itlb:8:4096:32:l', 'itlb:4:4096:64:l', 'itlb:2:4096:128:l', 'itlb:1:4096:256:l']
itlb = ["itlb:%s:4096:%s:l" %(int(256/(2**x)), 2**x) for x  in range(0,9) ] 

# ['dtlb:512:4096:1:l', 'dtlb:256:4096:2:l', 'dtlb:128:4096:4:l', 'dtlb:64:4096:8:l', 'dtlb:32:4096:16:l', 'dtlb:16:4096:32:l', 'dtlb:8:4096:64:l', 'dtlb:4:4096:128:l', 'dtlb:2:4096:256:l', 'dtlb:1:4096:512:l']
dtlb = ["dtlb:%s:4096:%s:l" %(int(512/(2**x)), 2**x) for x  in range(0,10) ]


makeConfigs("ex_tlb", 
	{ 'tlb:itlb': itlb, 'tlb:dtlb': dtlb },
	{}
)

# Run tests
runBenchmarksOnTestSets(["ex_tlb"])

# Retrieve results
# extractDataFromResults(["sim_IPC"], ["ex_tlb"])
from make_configs import makeConfigs
from main_script import runBenchmarksOnTestSets, extractDataFromResults

# il1 and dl1 cache block size are fixed at ifqize * 8
il1_1way = ["il1:%s:8:1:l" %x for x in [1024,2048,4096,8192]]
il1_2way = ["il1:%s:8:2:l" %(x/2) for x in [1024,2048,4096,8192]]
il1_4way = ["il1:%s:8:4:l" %(x/4) for x in [1024,2048,4096,8192]]

# ul2 block size must be il1 * 2
dl2_1way = ["dl2:%s:16:1:l" %(x) for x in [4096,8192,16384,32768,65536]]
dl2_2way = ["dl2:%s:16:2:l" %(x/2) for x in [4096,8192,16384,32768,65536]]
dl2_4way = ["dl2:%s:16:4:l" %(x/4) for x in [4096,8192,16384,32768,65536]]
dl2_8way = ["dl2:%s:16:8:l" %(x/8) for x in [4096,8192,16384,32768,65536]]
dl2_16way = ["dl2:%s:16:16:l" %(x/16) for x in [4096,8192,16384,32768,65536]]


makeConfigs("ex_BT_bimod_static", 
	{'cache:il1': il1_1way + il1_2way + il1_4way,
	'cache:dl2': dl2_1way + dl2_2way + dl2_4way + dl2_8way + dl2_16way},
	{'bpred': 'bimod'},
	{'static': [1,2,4], 'dynamic': []}
)

# Run tests
runBenchmarksOnTestSets(["ex_BT_bimod_static"])

# Retrieve results
#extractDataFromResults(["sim_IPC"], ["ex_BT_bimod_static"])
from make_configs import makeConfigs
from main_script import runBenchmarksOnTestSets, extractDataFromResults

# il1 and dl1 cache block size are fixed at ifqize * 8
il1_1way = ["il1:%s:8:1:l" %x for x in [1024,2048,4096,8192]]
il1_2way = ["il1:%s:8:2:l" %(x/2) for x in [1024,2048,4096,8192]]
il1_4way = ["il1:%s:8:4:l" %(x/4) for x in [1024,2048,4096,8192]]

# ul2 block size must be il1 * 2
dl2_1way = ["dl2:%s:16:1:l" %(x) for x in [4096,8192,16384,32768,65536]]
dl2_2way = ["dl2:%s:16:2:l" %(x/2) for x in [4096,8192,16384,32768,65536]]
dl2_4way = ["dl2:%s:16:4:l" %(x/4) for x in [4096,8192,16384,32768,65536]]
dl2_8way = ["dl2:%s:16:8:l" %(x/8) for x in [4096,8192,16384,32768,65536]]
dl2_16way = ["dl2:%s:16:16:l" %(x/16) for x in [4096,8192,16384,32768,65536]]


makeConfigs("ex_BT_2lev_dynamic", 
	{'cache:il1': il1_1way + il1_2way + il1_4way,
	'cache:dl2': dl2_1way + dl2_2way + dl2_4way + dl2_8way + dl2_16way},
	{'bpred': '2lev'},
	{'static': [], 'dynamic': [2,4,8]}
)

# Run tests
runBenchmarksOnTestSets(["ex_BT_2lev_dynamic"])

# Retrieve results
#extractDataFromResults(["sim_IPC"], ["ex_BT_2lev_dynamic"])
# After reviewing initial L1 results
il1 = ["il1:%s:%s:%s:l" %(x,(y*8),z) for x in [64,128,256,512] for y in [2,4,8,16] for z in [1,2]]

# After reviewing initial L2 results
ul2 = ["ul2:%s:%s:%s:l" %(x,(y*8),z) for x in [1024,2048,4096,8192] for y in [8,16] for z in [1,2,4]]

makeConfigs("optimal_caches_subset",
	{
		'fetch:ifqsize': [2,4,8,16], # Only certain that ifqsize > 1
		'cache:il1': il1,
		'cache:dl2': ul2
	},
	{
		'bpred': 'comb',    # Certain
		'bpred:ras': 8,     # Only certain that RAS > 0
		'fetch:speed': 2    # Minimal impact
	},
	{
		'static'  : [],
		'dynamic' : [2]
	},
	useOptimal = True
)

# Run tests
runBenchmarksOnTestSets(["optimal_caches_subset"])

# Retrieve results
extractDataFromResults(["sim_IPC"], ["optimal_caches_subset"])
from make_configs import makeConfigs
from main_script import runBenchmarksOnTestSets, extractDataFromResults

btb = ["%s %s" %(x,y) for y in [1,2,4]for x in [512,1024]]


# Calculate the baseline
makeConfigs("ex_baseline_optimal_with_bpred_RAS_BTB", 
	{'bpred': ['2lev', 'comb', 'bimod'],
	'bpred:ras': range(0,17),
	'bpred:btb': btb
	},

	{},
	useOptimal = True
)

# Run tests
runBenchmarksOnTestSets(["ex_baseline_optimal_with_bpred_RAS_BTB"])

# Retrieve results
#extractDataFromResults(["sim_IPC"], ["ex_baseline_optimal_with_bpred_RAS_BTB"])
from make_configs import makeConfigs
from main_script import runBenchmarksOnTestSets, extractDataFromResults

# il1 and dl1 cache block size are fixed at ifqize * 8
il1_1way = ["il1:%s:8:1:l" %x for x in [1024,2048,4096,8192]]
il1_2way = ["il1:%s:8:2:l" %(x/2) for x in [1024,2048,4096,8192]]
il1_4way = ["il1:%s:8:4:l" %(x/4) for x in [1024,2048,4096,8192]]

# ul2 block size must be il1 * 2
dl2_1way = ["dl2:%s:16:1:l" %(x) for x in [4096,8192,16384,32768,65536]]
dl2_2way = ["dl2:%s:16:2:l" %(x/2) for x in [4096,8192,16384,32768,65536]]
dl2_4way = ["dl2:%s:16:4:l" %(x/4) for x in [4096,8192,16384,32768,65536]]
dl2_8way = ["dl2:%s:16:8:l" %(x/8) for x in [4096,8192,16384,32768,65536]]
dl2_16way = ["dl2:%s:16:16:l" %(x/16) for x in [4096,8192,16384,32768,65536]]


makeConfigs("ex_BT_2lev_static", 
	{'cache:il1': il1_1way + il1_2way + il1_4way,
	'cache:dl2': dl2_1way + dl2_2way + dl2_4way + dl2_8way + dl2_16way},
	{'bpred': '2lev'},
	{'static': [1,2,4], 'dynamic': []}
)

# Run tests
runBenchmarksOnTestSets(["ex_BT_2lev_static"])

# Retrieve results
#extractDataFromResults(["sim_IPC"], ["ex_BT_2lev_static"])