Changeset 790
- Timestamp:
- Sep 3, 2014, 2:41:18 PM (10 years ago)
- Location:
- trunk/platforms/tsar_generic_xbar/scripts
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/platforms/tsar_generic_xbar/scripts/counter_defs.py
r779 r790 30 30 m_app_name['fft'] = "FFT" 31 31 m_app_name['radix'] = "Radix" 32 m_app_name['fft_ga'] = "FFT "33 m_app_name['radix_ga'] = "Radix "32 m_app_name['fft_ga'] = "FFT (opt.)" 33 m_app_name['radix_ga'] = "Radix (opt.)" 34 34 35 35 m_metric_id = {} … … 73 73 m_metric_tag['broadcast'] = "[080]" 74 74 m_metric_tag['write_broadcast'] = "[081]" 75 m_metric_tag['getm_broadcast'] = "[082]" 75 76 76 77 m_metric_tag['local_cleanup'] = "[090]" 77 78 m_metric_tag['remote_cleanup'] = "[091]" 78 79 m_metric_tag['cleanup_cost'] = "[092]" 79 m_metric_tag['cleanup_data_flits'] = "[093]" 80 m_metric_tag['local_cleanup_d'] = "[093]" 81 m_metric_tag['remote_cleanup_d'] = "[094]" 82 m_metric_tag['cleanup_d_cost'] = "[095]" 80 83 81 84 m_metric_tag['read_miss'] = "[100]" 82 85 m_metric_tag['write_miss'] = "[101]" 83 86 m_metric_tag['write_dirty'] = "[102]" 87 m_metric_tag['getm_miss'] = "[103]" 88 84 89 m_metric_tag['read_hit_trt'] = "[110]" # Reads blocked by a hit in the TRT 85 90 m_metric_tag['trans_full_trt'] = "[111]" # Transactions blocked because the TRT is full … … 91 96 m_metric_tag['ncc_to_cc_write'] = "[141]" 92 97 93 m_metric_tag['total_read'] = "[500]" 94 m_metric_tag['total_write'] = "[501]" 95 m_metric_tag['total_ll'] = "[502]" 96 m_metric_tag['total_sc'] = "[503]" 97 m_metric_tag['total_cas'] = "[504]" 98 m_metric_tag['total_update'] = "[505]" 99 m_metric_tag['total_m_inv'] = "[506]" 100 m_metric_tag['total_cleanup'] = "[507]" 101 m_metric_tag['total_direct'] = "[508]" 102 m_metric_tag['total_ncc_to_cc'] = "[509]" 103 104 m_metric_tag['nonwrite_broadcast'] = "[600]" 105 m_metric_tag['broadcast_cost'] = "[601]" 106 m_metric_tag['direct_cost'] = "[602]" 98 m_metric_tag['local_getm'] = "[150]" 99 m_metric_tag['remote_getm'] = "[151]" 100 m_metric_tag['getm_cost'] = "[152]" 101 102 m_metric_tag['local_inval_ro'] = "[160]" 103 m_metric_tag['remote_inval_ro'] = "[161]" 104 m_metric_tag['inval_ro_cost'] = "[162]" 105 106 107 107 108 108 all_metrics = m_metric_tag.keys() … … 110 110 111 111 m_metric_name = {} 112 m_metric_name['counter_reset'] = "Counters reset at cycle" 113 m_metric_name['ncycles'] = "Number of Cycles" 114 115 m_metric_name['local_read'] = "Number of Local Reads (Miss in L1)" 116 m_metric_name['remote_read'] = "Number of Remote Reads (Miss in L1)" 117 m_metric_name['read_cost'] = "Read Cost" 118 119 m_metric_name['local_write'] = "Number of Local Writes" 120 m_metric_name['remote_write'] = "Number of Remote Writes" 121 m_metric_name['write_flits_local'] = "Number of Local Write Flits" 122 m_metric_name['write_flits_remote'] = "Number of Remote Write Flits" 123 m_metric_name['write_cost'] = "Write Cost" 124 125 m_metric_name['local_ll'] = "Number of Local LL" 126 m_metric_name['remote_ll'] = "Number of Remote LL" 127 m_metric_name['ll_cost'] = "LL Cost" 128 129 m_metric_name['local_sc'] = "Number of Local SC" 130 m_metric_name['remote_sc'] = "Number of Remote SC" 131 m_metric_name['sc_cost'] = "SC Cost" 132 133 m_metric_name['local_cas'] = "Number of Local CAS" 134 m_metric_name['remote_cas'] = "Number of Remote CAS" 135 m_metric_name['cas_cost'] = "CAS Cost" 136 137 m_metric_name['req_trig_update'] = "Number of Requests Triggering an Update" 138 m_metric_name['local_update'] = "Number of Local Updates" 139 m_metric_name['remote_update'] = "Number of Remote Updates" 140 m_metric_name['update_cost'] = "Update Cost" 141 142 m_metric_name['req_trig_m_inv'] = "Number of Requests Triggering a M.inv" 143 m_metric_name['local_m_inv'] = "Number of Local Multi Inval" 144 m_metric_name['remote_m_inv'] = "Number of Remote Multi Inval" 145 m_metric_name['m_inv_cost'] = "Multi Inval Cost" 146 147 m_metric_name['broadcast'] = "Total Number of Broadcasts" 148 m_metric_name['write_broadcast'] = "Number of Broadcasts Trig. by Writes" 149 m_metric_name['nonwrite_broadcast'] = "Number of Broadcasts not Trig. by Writes" 150 151 m_metric_name['local_cleanup'] = "Number of Local Cleanups" 152 m_metric_name['remote_cleanup'] = "Number of Remote Cleanups" 153 m_metric_name['cleanup_cost'] = "Cleanup Cost" 154 155 m_metric_name['read_miss'] = "Number of Read Miss (in L2)" 156 m_metric_name['write_miss'] = "Number of Write Miss (in L2)" 157 m_metric_name['write_dirty'] = "Number of Write Dirty (from L2 to Memory)" 158 m_metric_name['read_hit_trt'] = "Number of Reads Blocked by a Hit in TRT" # Reads blocked by a hit in the TRT 159 m_metric_name['trans_full_trt'] = "Number of Transactions Blocked because the TRT is Full" # Transactions blocked because the TRT is full 160 m_metric_name['put'] = "Number of PUT to Memory" 161 m_metric_name['get'] = "Number of GET from Memory" 162 m_metric_name['min_heap_slots_av'] = "Minimum Number of Heap Slots available" 163 164 m_metric_name['ncc_to_cc_read'] = "Number or Reads trig. NCC to CC" 165 m_metric_name['ncc_to_cc_write'] = "Number of Writes trig. NCC to CC" 166 167 m_metric_name['total_read'] = "Total Number of Reads" 168 m_metric_name['total_write'] = "Total Number of Writes" 169 m_metric_name['total_ll'] = "Total Number of LL" 170 m_metric_name['total_sc'] = "Total Number of SC" 171 m_metric_name['total_cas'] = "Total Number of CAS" 172 m_metric_name['total_update'] = "Total Number of Updates" 173 m_metric_name['total_m_inv'] = "Total Number of Multi Inval" 174 m_metric_name['total_cleanup'] = "Total Number of Cleanups" 175 m_metric_name['total_direct'] = "Total Number of Direct Requests" 176 m_metric_name['total_ncc_to_cc'] = "Total Number of NCC to CC Changes" 177 m_metric_name['broadcast_cost'] = "Broadcast Cost" 178 m_metric_name['direct_cost'] = "Direct Requests Cost" 179 m_metric_name['total_stacked'] = "??" # Normalization factor, does not have a name (unused) 112 m_metric_name['counter_reset'] = "Counters reset at cycle" 113 m_metric_name['ncycles'] = "Number of Cycles" 114 115 m_metric_name['local_read'] = "Number of Local Reads (Miss in L1)" 116 m_metric_name['remote_read'] = "Number of Remote Reads (Miss in L1)" 117 m_metric_name['read_cost'] = "Read Cost" 118 119 m_metric_name['local_write'] = "Number of Local Writes" 120 m_metric_name['remote_write'] = "Number of Remote Writes" 121 m_metric_name['write_flits_local'] = "Number of Local Write Flits" 122 m_metric_name['write_flits_remote'] = "Number of Remote Write Flits" 123 m_metric_name['write_cost'] = "Write Cost" 124 125 m_metric_name['local_ll'] = "Number of Local LL" 126 m_metric_name['remote_ll'] = "Number of Remote LL" 127 m_metric_name['ll_cost'] = "LL Cost" 128 129 m_metric_name['local_sc'] = "Number of Local SC" 130 m_metric_name['remote_sc'] = "Number of Remote SC" 131 m_metric_name['sc_cost'] = "SC Cost" 132 133 m_metric_name['local_cas'] = "Number of Local CAS" 134 m_metric_name['remote_cas'] = "Number of Remote CAS" 135 m_metric_name['cas_cost'] = "CAS Cost" 136 137 m_metric_name['req_trig_update'] = "Number of Requests Triggering an Update" 138 m_metric_name['local_update'] = "Number of Local Updates" 139 m_metric_name['remote_update'] = "Number of Remote Updates" 140 m_metric_name['update_cost'] = "Update Cost" 141 142 m_metric_name['req_trig_m_inv'] = "Number of Requests Triggering a M.inv" 143 m_metric_name['local_m_inv'] = "Number of Local Multi Inval" 144 m_metric_name['remote_m_inv'] = "Number of Remote Multi Inval" 145 m_metric_name['m_inv_cost'] = "Multi Inval Cost" 146 147 m_metric_name['broadcast'] = "Total Number of Broadcasts" 148 m_metric_name['write_broadcast'] = "Number of Broadcasts Trig. by Writes" 149 m_metric_name['nonwrite_broadcast'] = "Number of Broadcasts not Trig. by Writes" 150 m_metric_name['getm_broadcast'] = "Number of Broadcasts Trig. by GetM" 151 152 m_metric_name['local_cleanup'] = "Number of Local Cleanups" 153 m_metric_name['remote_cleanup'] = "Number of Remote Cleanups" 154 m_metric_name['cleanup_cost'] = "Cleanup Cost" 155 m_metric_name['local_cleanup_d'] = "Number of Local Cleanups with Data" 156 m_metric_name['remote_cleanup_d'] = "Number of Remote Cleanups with Data" 157 m_metric_name['cleanup_d_cost'] = "Cleanup with Data Cost" 158 159 m_metric_name['read_miss'] = "Number of Read Miss (in L2)" 160 m_metric_name['write_miss'] = "Number of Write Miss (in L2)" 161 m_metric_name['write_dirty'] = "Number of Write Dirty (from L2 to Memory)" 162 m_metric_name['getm_miss'] = "Number of GetM Miss (in L2)" 163 164 m_metric_name['read_hit_trt'] = "Number of Reads Blocked by a Hit in TRT" # Reads blocked by a hit in the TRT 165 m_metric_name['trans_full_trt'] = "Number of Transactions Blocked because the TRT is Full" # Transactions blocked because the TRT is full 166 m_metric_name['put'] = "Number of PUT to Memory" 167 m_metric_name['get'] = "Number of GET from Memory" 168 m_metric_name['min_heap_slots_av'] = "Minimum Number of Heap Slots available" 169 170 m_metric_name['ncc_to_cc_read'] = "Number or Reads trig. NCC to CC" 171 m_metric_name['ncc_to_cc_write'] = "Number of Writes trig. NCC to CC" 172 173 m_metric_name['local_getm'] = "Number of Local GetM" 174 m_metric_name['remote_getm'] = "Number of Remote GetM" 175 m_metric_name['getm_cost'] = "GetM Cost" 176 177 m_metric_name['local_inval_ro'] = "Number of Local Inval RO" 178 m_metric_name['remote_inval_ro'] = "Number of Remote Inval RO" 179 m_metric_name['inval_ro_cost'] = "Inval RO Cost" 180 181 182 m_metric_name['total_read'] = "Total Number of Reads" 183 m_metric_name['total_write'] = "Total Number of Writes" 184 m_metric_name['total_ll'] = "Total Number of LL" 185 m_metric_name['total_sc'] = "Total Number of SC" 186 m_metric_name['total_cas'] = "Total Number of CAS" 187 m_metric_name['total_update'] = "Total Number of Updates" 188 m_metric_name['total_m_inv'] = "Total Number of Multi Inval" 189 m_metric_name['total_cleanup'] = "Total Number of Cleanups" 190 m_metric_name['total_cleanup_d'] = "Total Number of Cleanups with Data" 191 m_metric_name['total_direct'] = "Total Number of Direct Requests" 192 m_metric_name['total_ncc_to_cc'] = "Total Number of NCC to CC Changes" 193 m_metric_name['broadcast_cost'] = "Broadcast Cost" 194 m_metric_name['direct_cost'] = "Direct Requests Cost" 195 m_metric_name['total_stacked'] = "??" # Normalization factor, does not have a name (unused) 180 196 181 197 -
trunk/platforms/tsar_generic_xbar/scripts/create_graphs.py
r779 r790 8 8 9 9 #apps = [ 'histogram', 'mandel', 'filter', 'radix', 'fft_ga' ] 10 apps = [ 'histogram', 'mandel', 'filter', 'radix', 'radix_ga', 'fft', 'fft_ga', 'filt_ga', 'kmeans', 'pca', 'lu' ]11 #apps = [ 'fft' ]10 #apps = [ 'histogram', 'mandel', 'filter', 'radix', 'radix_ga', 'fft', 'fft_ga', 'filt_ga', 'kmeans', 'pca', 'lu' ] 11 apps = [ 'fft', 'fft_ga' ] 12 12 nb_procs = [ 1, 4, 8, 16, 32, 64, 128, 256 ] 13 single_protocols = ['dhccp' ]14 #joint_protocols = ['dhccp', 'rwt']15 joint_protocols = []13 single_protocols = ['dhccp', 'rwt'] 14 joint_protocols = ['dhccp', 'rwt'] 15 #joint_protocols = [] 16 16 17 17 top_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..") … … 123 123 for i in nb_procs: 124 124 x, y = get_x_y(i) 125 metrics_val[prot][app][i]['total_read'] = metrics_val[prot][app][i]['local_read'] + metrics_val[prot][app][i]['remote_read'] 126 metrics_val[prot][app][i]['total_write'] = metrics_val[prot][app][i]['local_write'] + metrics_val[prot][app][i]['remote_write'] 127 metrics_val[prot][app][i]['total_ll'] = metrics_val[prot][app][i]['local_ll'] + metrics_val[prot][app][i]['remote_ll'] 128 metrics_val[prot][app][i]['total_sc'] = metrics_val[prot][app][i]['local_sc'] + metrics_val[prot][app][i]['remote_sc'] 129 metrics_val[prot][app][i]['total_cas'] = metrics_val[prot][app][i]['local_cas'] + metrics_val[prot][app][i]['remote_cas'] 130 metrics_val[prot][app][i]['total_update'] = metrics_val[prot][app][i]['local_update'] + metrics_val[prot][app][i]['remote_update'] 131 metrics_val[prot][app][i]['total_m_inv'] = metrics_val[prot][app][i]['local_m_inv'] + metrics_val[prot][app][i]['remote_m_inv'] 132 metrics_val[prot][app][i]['total_cleanup'] = metrics_val[prot][app][i]['local_cleanup'] + metrics_val[prot][app][i]['remote_cleanup'] 133 metrics_val[prot][app][i]['total_direct'] = metrics_val[prot][app][i]['total_read'] + metrics_val[prot][app][i]['total_write'] 134 metrics_val[prot][app][i]['total_ncc_to_cc'] = metrics_val[prot][app][i]['ncc_to_cc_read'] + metrics_val[prot][app][i]['ncc_to_cc_write'] 135 metrics_val[prot][app][i]['direct_cost'] = metrics_val[prot][app][i]['read_cost'] + metrics_val[prot][app][i]['write_cost'] 125 metrics_val[prot][app][i]['total_read'] = metrics_val[prot][app][i]['local_read'] + metrics_val[prot][app][i]['remote_read'] 126 metrics_val[prot][app][i]['total_write'] = metrics_val[prot][app][i]['local_write'] + metrics_val[prot][app][i]['remote_write'] 127 metrics_val[prot][app][i]['total_ll'] = metrics_val[prot][app][i]['local_ll'] + metrics_val[prot][app][i]['remote_ll'] 128 metrics_val[prot][app][i]['total_sc'] = metrics_val[prot][app][i]['local_sc'] + metrics_val[prot][app][i]['remote_sc'] 129 metrics_val[prot][app][i]['total_cas'] = metrics_val[prot][app][i]['local_cas'] + metrics_val[prot][app][i]['remote_cas'] 130 metrics_val[prot][app][i]['total_update'] = metrics_val[prot][app][i]['local_update'] + metrics_val[prot][app][i]['remote_update'] 131 metrics_val[prot][app][i]['total_m_inv'] = metrics_val[prot][app][i]['local_m_inv'] + metrics_val[prot][app][i]['remote_m_inv'] 132 metrics_val[prot][app][i]['total_cleanup'] = metrics_val[prot][app][i]['local_cleanup'] + metrics_val[prot][app][i]['remote_cleanup'] 133 metrics_val[prot][app][i]['total_cleanup_d'] = metrics_val[prot][app][i]['local_cleanup_d'] + metrics_val[prot][app][i]['remote_cleanup_d'] 134 metrics_val[prot][app][i]['total_getm'] = metrics_val[prot][app][i]['local_getm'] + metrics_val[prot][app][i]['remote_getm'] 135 metrics_val[prot][app][i]['total_inval_ro'] = metrics_val[prot][app][i]['local_inval_ro'] + metrics_val[prot][app][i]['remote_inval_ro'] 136 metrics_val[prot][app][i]['total_direct'] = metrics_val[prot][app][i]['total_read'] + metrics_val[prot][app][i]['total_write'] 137 metrics_val[prot][app][i]['total_ncc_to_cc'] = metrics_val[prot][app][i]['ncc_to_cc_read'] + metrics_val[prot][app][i]['ncc_to_cc_write'] 138 metrics_val[prot][app][i]['direct_cost'] = metrics_val[prot][app][i]['read_cost'] + metrics_val[prot][app][i]['write_cost'] 136 139 metrics_val[prot][app][i]['broadcast_cost'] = metrics_val[prot][app][i]['broadcast'] * (x * y - 1) 137 140 if metrics_val[prot][app][i]['broadcast'] < metrics_val[prot][app][i]['write_broadcast']: 138 141 # test to patch a bug in mem_cache 139 142 metrics_val[prot][app][i]['nonwrite_broadcast'] = 0 143 print "*** Error which should not happen anymore: incorrect number of Broadcasts/Write Broadcasts" 140 144 else: 141 145 metrics_val[prot][app][i]['nonwrite_broadcast'] = metrics_val[prot][app][i]['broadcast'] - metrics_val[prot][app][i]['write_broadcast'] -
trunk/platforms/tsar_generic_xbar/scripts/run_simus.py
r779 r790 15 15 rerun_stats = False 16 16 use_omp = False 17 protocol = ' rwt'17 protocol = 'dhccp' 18 18 19 19 #apps = [ 'histogram', 'mandel', 'filter', 'radix_ga', 'fft_ga', 'kmeans' ] … … 32 32 # to come: 'barnes', 'fmm', 'ocean', 'raytrace', 'radiosity', 'waters', 'watern' 33 33 34 all_protocols = [ 'dhccp', 'rwt', ' mesi' ]34 all_protocols = [ 'dhccp', 'rwt', 'hmesi' ] 35 35 36 36 top_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..") … … 92 92 sys.exit() 93 93 94 if protocol == " mesi":95 if mesi_dir == "":96 print "*** Error: variable mesi_dir not defined in config file"97 sys.exit() 98 if not os.path.exists( mesi_dir):99 print "*** Error: variable mesi_dir does not define a valid path"94 if protocol == "hmesi": 95 if hmesi_dir == "": 96 print "*** Error: variable hmesi_dir not defined in config file" 97 sys.exit() 98 if not os.path.exists(hmesi_dir): 99 print "*** Error: variable hmesi_dir does not define a valid path" 100 100 sys.exit() 101 101 … … 177 177 elif protocol == "rwt": 178 178 arch_dir = rwt_dir 179 elif protocol == " mesi":180 arch i_dir =mesi_dir179 elif protocol == "hmesi": 180 arch_dir = hmesi_dir 181 181 else: 182 182 assert(False)
Note: See TracChangeset
for help on using the changeset viewer.