xref: /XiangShan/scripts/top-down/configs.py (revision d29457077dba131b5b0f793bbf7a71463640ac2a)
1stats_dir = ''
2
3CSV_PATH = 'results/results.csv'
4JSON_FILE = 'resources/spec06_rv64gcb_o2_20m.json'
5OUT_CSV = 'results/results-weighted.csv'
6INT_ONLY = False
7FP_ONLY = False
8
9xs_coarse_rename_map = {
10    'OverrideBubble': 'MergeFrontend',
11    'FtqFullStall': 'MergeFrontend',
12    'FtqUpdateBubble': 'MergeBadSpec',
13    'TAGEMissBubble': 'MergeBadSpec',
14    'SCMissBubble': 'MergeBadSpec',
15    'ITTAGEMissBubble': 'MergeBadSpec',
16    'RASMissBubble': 'MergeBadSpec',
17    'ICacheMissBubble': 'MergeFrontend',
18    'ITLBMissBubble': 'MergeFrontend',
19    'BTBMissBubble': 'MergeBadSpec',
20    'FetchFragBubble': 'MergeFrontend',
21
22    'DivStall': 'MergeCore',
23    'IntNotReadyStall': 'MergeCore',
24    'FPNotReadyStall': 'MergeCore',
25
26    'MemNotReadyStall': 'MergeLoad',
27
28    'IntFlStall': 'MergeFreelistStall',
29    'FpFlStall': 'MergeFreelistStall',
30
31    'IntDqStall': 'MergeCoreDQStall',
32    'FpDqStall': 'MergeCoreDQStall',
33    'LsDqStall': 'MergeMemDQStall',
34
35    'LoadTLBStall': 'MergeLoad',
36    'LoadL1Stall': 'MergeLoad',
37    'LoadL2Stall': 'MergeLoad',
38    'LoadL3Stall': 'MergeLoad',
39    'LoadMemStall': 'MergeLoad',
40    'StoreStall': 'MergeStore',
41
42    'AtomicStall': 'MergeMisc',
43
44    'FlushedInsts': 'MergeBadSpecInst',
45    'LoadVioReplayStall': 'MergeBadSpec',
46
47    'LoadMSHRReplayStall': 'MergeLoad',
48
49    'ControlRecoveryStall': 'MergeBadSpec',
50    'MemVioRecoveryStall': 'MergeBadSpec',
51    'OtherRecoveryStall': 'MergeBadSpec',
52
53    'OtherCoreStall': 'MergeCoreOther',
54    'NoStall': 'MergeBase',
55
56    'MemVioRedirectBubble': 'MergeBadSpec',
57    'OtherRedirectBubble': 'MergeMisc',
58
59    'commitInstr': 'Insts',
60    'total_cycles': 'Cycles',
61}
62
63xs_fine_grain_rename_map = {
64    'OverrideBubble': 'MergeOtherFrontend',
65    'FtqFullStall': 'MergeOtherFrontend',
66    'FtqUpdateBubble': 'MergeBadSpecBubble',
67    'TAGEMissBubble': 'MergeBadSpecBubble',
68    'SCMissBubble': 'MergeBadSpecBubble',
69    'ITTAGEMissBubble': 'MergeBadSpecBubble',
70    'RASMissBubble': 'MergeBadSpecBubble',
71    'ICacheMissBubble': 'ICacheBubble',
72    'ITLBMissBubble': 'ITlbBubble',
73    'BTBMissBubble': 'MergeBadSpecBubble',
74    'FetchFragBubble': 'FragmentBubble',
75
76    'DivStall': 'LongExecute',
77    'IntNotReadyStall': 'MergeInstNotReady',
78    'FPNotReadyStall': 'MergeInstNotReady',
79
80    'MemNotReadyStall': 'MemNotReady',
81
82    'IntFlStall': 'MergeFreelistStall',
83    'FpFlStall': 'MergeFreelistStall',
84
85    'IntDqStall': 'MergeDispatchQueueStall',
86    'FpDqStall': 'MergeDispatchQueueStall',
87    'LsDqStall': 'MergeDispatchQueueStall',
88
89    'LoadTLBStall': 'DTlbStall',
90    'LoadL1Stall': 'LoadL1Bound',
91    'LoadL2Stall': 'LoadL2Bound',
92    'LoadL3Stall': 'LoadL3Bound',
93    'LoadMemStall': 'LoadMemBound',
94    'StoreStall': 'MergeStoreBound',
95
96    'AtomicStall': 'SerializeStall',
97
98    'FlushedInsts': 'BadSpecInst',
99    'LoadVioReplayStall': None,
100
101    'LoadMSHRReplayStall': None,
102
103    'ControlRecoveryStall': 'MergeBadSpecWalking',
104    'MemVioRecoveryStall': 'MergeBadSpecWalking',
105    'OtherRecoveryStall': 'MergeBadSpecWalking',
106
107    'OtherCoreStall': 'MergeMisc',
108    'NoStall': None,
109
110    'MemVioRedirectBubble': 'MergeBadSpecBubble',
111    'OtherRedirectBubble': 'MergeMisc',
112
113    'commitInstr': 'Insts',
114    'total_cycles': 'Cycles',
115}
116
117XS_CORE_PREFIX = r'\[PERF \]\[time=\s+\d+\] TOP\.SimTop\.l_soc\.core_with_l2\.core'
118
119targets = {
120    'NoStall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: NoStall,\s+(\d+)',
121
122    'OverrideBubble': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: OverrideBubble,\s+(\d+)',
123    'FtqUpdateBubble': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: FtqUpdateBubble,\s+(\d+)',
124    'TAGEMissBubble': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: TAGEMissBubble,\s+(\d+)',
125    'SCMissBubble': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: SCMissBubble,\s+(\d+)',
126    'ITTAGEMissBubble': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: ITTAGEMissBubble,\s+(\d+)',
127    'RASMissBubble': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: RASMissBubble,\s+(\d+)',
128    'MemVioRedirectBubble': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: MemVioRedirectBubble,\s+(\d+)',
129    'OtherRedirectBubble': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: OtherRedirectBubble,\s+(\d+)',
130    'FtqFullStall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: FtqFullStall,\s+(\d+)',
131
132    'ICacheMissBubble': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: ICacheMissBubble,\s+(\d+)',
133    'ITLBMissBubble': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: ITLBMissBubble,\s+(\d+)',
134    'BTBMissBubble': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: BTBMissBubble,\s+(\d+)',
135    'FetchFragBubble': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: FetchFragBubble,\s+(\d+)',
136
137    'DivStall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: DivStall,\s+(\d+)',
138    'IntNotReadyStall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: IntNotReadyStall,\s+(\d+)',
139    'FPNotReadyStall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: FPNotReadyStall,\s+(\d+)',
140    'MemNotReadyStall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: MemNotReadyStall,\s+(\d+)',
141
142    'IntFlStall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: IntFlStall,\s+(\d+)',
143    'FpFlStall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: FpFlStall,\s+(\d+)',
144
145    'IntDqStall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: IntDqStall,\s+(\d+)',
146    'FpDqStall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: FpDqStall,\s+(\d+)',
147    'LsDqStall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: LsDqStall,\s+(\d+)',
148
149    'LoadTLBStall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: LoadTLBStall,\s+(\d+)',
150    'LoadL1Stall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: LoadL1Stall,\s+(\d+)',
151    'LoadL2Stall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: LoadL2Stall,\s+(\d+)',
152    'LoadL3Stall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: LoadL3Stall,\s+(\d+)',
153    'LoadMemStall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: LoadMemStall,\s+(\d+)',
154    'StoreStall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: StoreStall,\s+(\d+)',
155    'AtomicStall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: AtomicStall,\s+(\d+)',
156
157    'LoadVioReplayStall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: LoadVioReplayStall,\s+(\d+)',
158    'LoadMSHRReplayStall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: LoadMSHRReplayStall,\s+(\d+)',
159
160    'ControlRecoveryStall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: ControlRecoveryStall,\s+(\d+)',
161    'MemVioRecoveryStall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: MemVioRecoveryStall,\s+(\d+)',
162    'OtherRecoveryStall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: OtherRecoveryStall,\s+(\d+)',
163
164    'FlushedInsts': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: FlushedInsts,\s+(\d+)',
165    'OtherCoreStall': fr'{XS_CORE_PREFIX}.backend.ctrlBlock\.dispatch: OtherCoreStall,\s+(\d+)',
166
167    "commitInstr": r"\[PERF \]\[time=\s+\d+\] TOP.SimTop.l_soc.core_with_l2.core.backend.ctrlBlock.rob: commitInstr,\s+(\d+)",
168    "total_cycles": r"\[PERF \]\[time=\s+\d+\] TOP.SimTop.l_soc.core_with_l2.core.backend.ctrlBlock.rob: clock_cycle,\s+(\d+)",
169}
170
171
172spec_bmks = {
173    '06': {
174        'int': [
175            'perlbench',
176            'bzip2',
177            'gcc',
178            'mcf',
179            'gobmk',
180            'hmmer',
181            'sjeng',
182            'libquantum',
183            'h264ref',
184            'omnetpp',
185            'astar',
186            'xalancbmk',
187        ],
188        'float': [
189            'bwaves', 'gamess', 'milc', 'zeusmp', 'gromacs',
190            'cactusADM', 'leslie3d', 'namd', 'dealII', 'soplex',
191            'povray', 'calculix', 'GemsFDTD', 'tonto', 'lbm',
192            'wrf', 'sphinx3',
193        ],
194        'high_squash': ['astar', 'bzip2', 'gobmk', 'sjeng'],
195    },
196    '17': {},
197}
198