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