source: trunk/platforms/tsar_generic_xbar/scripts/counter_defs.py

Last change on this file was 1048, checked in by meunier, 7 years ago
  • Update of tsar_xbar_cluster (scripts and openmp support)
File size: 10.8 KB
Line 
1
2individual_metrics = [ 'req_trig_update', 'local_update', 'remote_update', 'update_cost', 'req_trig_m_inv', 'local_m_inv', 'remote_m_inv', 'm_inv_cost', 'broadcast', 'total_update', 'total_m_inv' ]
3
4grouped_metrics = [ 'update_cost', 'm_inv_cost' ]
5
6stacked_metrics = [ 'nonwrite_broadcast', 'write_broadcast', 'local_m_inv', 'remote_m_inv', 'local_update', 'remote_update' ]
7
8m_prot_name = {}
9m_prot_name['dhccp'] = "DHCCP"
10m_prot_name['rwt'] = "RWT"
11m_prot_name['hmesi'] = "HMESI"
12m_prot_name['wtidl'] = "WT IDEAL"
13m_prot_name['th0'] = "TH. 0"
14
15m_app_name = {}
16m_app_name['barnes'] = "Barnes"
17m_app_name['blackscholes'] = "Blackscholes"
18m_app_name['cholesky'] = "Cholesky"
19m_app_name['fal_sh_1'] = "False Sharing 1"
20m_app_name['fal_sh_2'] = "False Sharing 2"
21m_app_name['fft'] = "FFT"
22m_app_name['fft_ga'] = "FFT"
23m_app_name['filter'] = "Convol"
24m_app_name['filt_ga'] = "Convol"
25m_app_name['fmm'] = "FMM"
26m_app_name['histogram'] = "Histogram"
27m_app_name['histogram-pad'] = "Histogram"
28m_app_name['histo-opt'] = "Histogram"
29m_app_name['histo-opt-nopad'] = "Histogram"
30m_app_name['kmeans'] = "Kmeans"
31m_app_name['kmeans-opt'] = "Kmeans"
32m_app_name['linear_regression'] = "Linear Reg."
33m_app_name['lu'] = "LU"
34m_app_name['mandel'] = "Mandelbrot"
35m_app_name['mat_mult'] = "Matrix Mult."
36m_app_name['mat_mult-opt'] = "Matrix Mult."
37m_app_name['pca'] = "PCA"
38m_app_name['pca-opt'] = "PCA"
39m_app_name['ocean'] = "Ocean"
40m_app_name['radix'] = "Radix"
41m_app_name['radix_ga'] = "Radix"
42m_app_name['raytrace'] = "Raytrace"
43m_app_name['radiosity'] = "Radiosity"
44m_app_name['string_match'] = "String Match"
45m_app_name['waters'] = "Water Sp."
46m_app_name['watern'] = "Water Nsq."
47
48m_metric_id = {}
49m_metric_tag = {}
50m_metric_tag['counter_reset']      = "[000]"
51m_metric_tag['ncycles']            = "[001]"
52
53m_metric_tag['local_read']         = "[010]"
54m_metric_tag['remote_read']        = "[011]"
55m_metric_tag['read_cost']          = "[012]"
56
57m_metric_tag['local_write']        = "[020]"
58m_metric_tag['remote_write']       = "[021]"
59m_metric_tag['write_flits_local']  = "[022]"
60m_metric_tag['write_flits_remote'] = "[023]"
61m_metric_tag['write_cost']         = "[024]"
62m_metric_tag['write_l1_miss_ncc']  = "[025]"
63
64m_metric_tag['local_ll']           = "[030]"
65m_metric_tag['remote_ll']          = "[031]"
66m_metric_tag['ll_cost']            = "[032]"
67
68m_metric_tag['local_sc']           = "[040]"
69m_metric_tag['remote_sc']          = "[041]"
70m_metric_tag['sc_cost']            = "[042]"
71
72m_metric_tag['local_cas']          = "[050]"
73m_metric_tag['remote_cas']         = "[051]"
74m_metric_tag['cas_cost']           = "[052]"
75
76m_metric_tag['req_trig_update']    = "[060]"
77m_metric_tag['local_update']       = "[061]"
78m_metric_tag['remote_update']      = "[062]"
79m_metric_tag['update_cost']        = "[063]"
80
81m_metric_tag['req_trig_m_inv']     = "[070]"
82m_metric_tag['local_m_inv']        = "[071]"
83m_metric_tag['remote_m_inv']       = "[072]"
84m_metric_tag['m_inv_cost']         = "[073]"
85
86m_metric_tag['broadcast']          = "[080]"
87m_metric_tag['write_broadcast']    = "[081]"
88m_metric_tag['getm_broadcast']     = "[082]"
89
90m_metric_tag['local_cleanup']      = "[090]"
91m_metric_tag['remote_cleanup']     = "[091]"
92m_metric_tag['cleanup_cost']       = "[092]"
93m_metric_tag['local_cleanup_d']    = "[093]"
94m_metric_tag['remote_cleanup_d']   = "[094]"
95m_metric_tag['cleanup_d_cost']     = "[095]"
96
97m_metric_tag['read_miss']          = "[100]"
98m_metric_tag['write_miss']         = "[101]"
99m_metric_tag['write_dirty']        = "[102]"
100m_metric_tag['getm_miss']          = "[103]"
101
102m_metric_tag['read_hit_trt']       = "[110]" # Reads blocked by a hit in the TRT
103m_metric_tag['trans_full_trt']     = "[111]" # Transactions blocked because the TRT is full
104m_metric_tag['put']                = "[120]"
105m_metric_tag['get']                = "[121]"
106m_metric_tag['min_heap_slots_av']  = "[130]"
107
108m_metric_tag['ncc_to_cc_read']     = "[140]"
109m_metric_tag['ncc_to_cc_write']    = "[141]"
110
111m_metric_tag['local_getm']         = "[150]"
112m_metric_tag['remote_getm']        = "[151]"
113m_metric_tag['getm_cost']          = "[152]"
114
115m_metric_tag['local_inval_ro']     = "[160]"
116m_metric_tag['remote_inval_ro']    = "[161]"
117m_metric_tag['inval_ro_cost']      = "[162]"
118
119
120
121all_metrics = m_metric_tag.keys()
122all_tags = m_metric_tag.values()
123
124m_metric_name = {}
125m_metric_name['counter_reset']       = "Counters reset at cycle"
126m_metric_name['ncycles']             = "Number of Cycles"
127
128m_metric_name['local_read']          = "Number of Local Reads (Miss in L1)"
129m_metric_name['remote_read']         = "Number of Remote Reads (Miss in L1)"
130m_metric_name['read_cost']           = "Read Cost"
131
132m_metric_name['local_write']         = "Number of Local Writes"
133m_metric_name['remote_write']        = "Number of Remote Writes"
134m_metric_name['write_flits_local']   = "Number of Local Write Flits"
135m_metric_name['write_flits_remote']  = "Number of Remote Write Flits"
136m_metric_name['write_cost']          = "Write Cost"
137
138m_metric_name['local_ll']            = "Number of Local LL"
139m_metric_name['remote_ll']           = "Number of Remote LL"
140m_metric_name['ll_cost']             = "LL Cost"
141
142m_metric_name['local_sc']            = "Number of Local SC"
143m_metric_name['remote_sc']           = "Number of Remote SC"
144m_metric_name['sc_cost']             = "SC Cost"
145
146m_metric_name['local_cas']           = "Number of Local CAS"
147m_metric_name['remote_cas']          = "Number of Remote CAS"
148m_metric_name['cas_cost']            = "CAS Cost"
149
150m_metric_name['req_trig_update']     = "Number of Requests Triggering an Update"
151m_metric_name['local_update']        = "Number of Local Updates"
152m_metric_name['remote_update']       = "Number of Remote Updates"
153m_metric_name['update_cost']         = "Update Cost"
154
155m_metric_name['req_trig_m_inv']      = "Number of Requests Triggering a M.inv"
156m_metric_name['local_m_inv']         = "Number of Local Multi Inval"
157m_metric_name['remote_m_inv']        = "Number of Remote Multi Inval"
158m_metric_name['m_inv_cost']          = "Multi Inval Cost"
159
160m_metric_name['broadcast']           = "Total Number of Broadcasts"
161m_metric_name['write_broadcast']     = "Number of Broadcasts Trig. by Writes"
162m_metric_name['nonwrite_broadcast']  = "Number of Broadcasts not Trig. by Writes"
163m_metric_name['getm_broadcast']      = "Number of Broadcasts Trig. by GetM"
164
165m_metric_name['local_cleanup']       = "Number of Local Cleanups"
166m_metric_name['remote_cleanup']      = "Number of Remote Cleanups"
167m_metric_name['cleanup_cost']        = "Cleanup Cost"
168m_metric_name['local_cleanup_d']     = "Number of Local Cleanups with Data"
169m_metric_name['remote_cleanup_d']    = "Number of Remote Cleanups with Data"
170m_metric_name['cleanup_d_cost']      = "Cleanup with Data Cost"
171
172m_metric_name['read_miss']           = "Number of Read Miss (in L2)"
173m_metric_name['write_miss']          = "Number of Write Miss (in L2)"
174m_metric_name['write_dirty']         = "Number of Write Dirty (from L2 to Memory)"
175m_metric_name['getm_miss']           = "Number of GetM Miss (in L2)"
176
177m_metric_name['read_hit_trt']        = "Number of Reads Blocked by a Hit in TRT" # Reads blocked by a hit in the TRT
178m_metric_name['trans_full_trt']      = "Number of Transactions Blocked because the TRT is Full" # Transactions blocked because the TRT is full
179m_metric_name['put']                 = "Number of PUT to Memory"
180m_metric_name['get']                 = "Number of GET from Memory"
181m_metric_name['min_heap_slots_av']   = "Minimum Number of Heap Slots available"
182
183m_metric_name['ncc_to_cc_read']      = "Number or Reads trig. NCC to CC"
184m_metric_name['ncc_to_cc_write']     = "Number of Writes trig. NCC to CC"
185
186m_metric_name['local_getm']          = "Number of Local GetM"
187m_metric_name['remote_getm']         = "Number of Remote GetM"
188m_metric_name['getm_cost']           = "GetM Cost"
189
190m_metric_name['local_inval_ro']      = "Number of Local Inval RO"
191m_metric_name['remote_inval_ro']     = "Number of Remote Inval RO"
192m_metric_name['inval_ro_cost']       = "Inval RO Cost"
193
194
195m_metric_name['total_read']          = "Total Number of Reads"
196m_metric_name['total_write']         = "Total Number of Writes"
197m_metric_name['total_ll']            = "Total Number of LL"
198m_metric_name['total_sc']            = "Total Number of SC"
199m_metric_name['total_cas']           = "Total Number of CAS"
200m_metric_name['total_update']        = "Total Number of Updates"
201m_metric_name['total_m_inv']         = "Total Number of Multi Inval"
202m_metric_name['total_cleanup']       = "Total Number of Cleanups"
203m_metric_name['total_cleanup_d']     = "Total Number of Cleanups with Data"
204m_metric_name['total_direct']        = "Total Number of Direct Requests"
205m_metric_name['total_ncc_to_cc']     = "Total Number of NCC to CC Changes"
206m_metric_name['broadcast_cost']      = "Broadcast Cost"
207m_metric_name['coherence_cost']      = "Coherence Cost"
208m_metric_name['direct_cost']         = "Direct Requests Cost"
209m_metric_name['total_stacked']       = "??" # Normalization factor, does not have a name (unused)
210
211
212
213m_metric_norm = {} # "N" (None), P (#procs), C (#cycles), W (#writes), R (#reads), D (#direct req -- R ou W), n (value with n proc(s))
214m_metric_norm['req_trig_update']   = "C"
215m_metric_norm['local_update']      = "C"
216m_metric_norm['remote_update']     = "C"
217m_metric_norm['update_cost']       = "C"
218m_metric_norm['req_trig_m_inv']    = "C"
219m_metric_norm['local_m_inv']       = "C"
220m_metric_norm['remote_m_inv']      = "C"
221m_metric_norm['m_inv_cost']        = "C"
222m_metric_norm['broadcast']         = "C"
223m_metric_norm['total_update']      = "C"
224m_metric_norm['total_m_inv']       = "C"
225
226m_norm_factor_name = {}
227m_norm_factor_name['N']   = ""
228m_norm_factor_name['P']   = "Normalized w.r.t.\\nthe Number of Processors"
229m_norm_factor_name['C']   = "Normalized w.r.t.\\nthe Number of Cycles (x 1000)"
230m_norm_factor_name['W']   = "Normalized w.r.t.\\nthe Number of Writes"
231m_norm_factor_name['R']   = "Normalized w.r.t.\\nthe Number of Reads"
232m_norm_factor_name['D']   = "Normalized w.r.t.\\nthe Number of Direct Requests"
233m_norm_factor_name['1']   = "Normalized w.r.t.\\nthe Value on 1 Processor"
234m_norm_factor_name['4']   = "Normalized w.r.t.\\nthe Value on 4 Processors"
235m_norm_factor_name['8']   = "Normalized w.r.t.\\nthe Value on 8 Processors"
236m_norm_factor_name['16']  = "Normalized w.r.t.\\nthe Value on 16 Processors"
237m_norm_factor_name['32']  = "Normalized w.r.t.\\nthe Value on 32 Processors"
238m_norm_factor_name['64']  = "Normalized w.r.t.\\nthe Value on 64 Processors"
239m_norm_factor_name['128'] = "Normalized w.r.t.\\nthe Value on 128 Processors"
240m_norm_factor_name['256'] = "Normalized w.r.t.\\nthe Value on 256 Processors"
241
242
243
244#colors = [ "\"#008000\"", "\"#000080\"", "\"#BADC98\"", "\"#BA98DC\"", "\"#98DCBA\"", "\"#98BADC\"", "\"#BA9876\"", "\"#BA7698\"", "\"#98BA76\"", "\"#9876BA\"", "\"#76BA98\"", "\"#7698BA\"" ]
245colors = [ "\"#008000\"", "\"#FEDCBA\"", "\"#9876BA\"", "\"#000080\"", "\"#98DCBA\"", "\"#98BADC\"", "\"#BA9876\"", "\"#BA7698\"", "\"#98BA76\"", "\"#BADC98\"", "\"#76BA98\"", "\"#7698BA\"" ]
246
247
Note: See TracBrowser for help on using the repository browser.