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

Last change on this file since 706 was 706, checked in by meunier, 10 years ago
  • Replaced vci_dspin_local_crossbar with a vci_local_crossbar in tsar_generic_xbar
  • Added the scripts/ directory in tsar_generic_xbar
File size: 8.7 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' ]
3grouped_metrics = [ 'update_cost', 'm_inv_cost' ]
4stacked_metrics = [ 'nonwrite_broadcast', 'write_broadcast', 'local_m_inv', 'remote_m_inv', 'local_update', 'remote_update' ]
5
6m_app_name = {}
7m_app_name['mandel'] = "Mandelbrot"
8m_app_name['filter'] = "Filter"
9m_app_name['filt_ga'] = "Filter (opt.)"
10m_app_name['histogram'] = "Histogram"
11m_app_name['kmeans'] = "Kmeans"
12m_app_name['barnes'] = "Barnes"
13m_app_name['fmm'] = "FMM"
14m_app_name['ocean'] = "Ocean"
15m_app_name['raytrace'] = "Raytrace"
16m_app_name['radiosity'] = "Radiosity"
17m_app_name['waters'] = "Water Sp."
18m_app_name['watern'] = "Water Nsq."
19m_app_name['cholesky'] = "Cholesky"
20m_app_name['lu'] = "LU"
21m_app_name['fft'] = "FFT"
22m_app_name['radix'] = "Radix"
23m_app_name['fft_ga'] = "FFT"
24m_app_name['radix_ga'] = "Radix"
25
26m_metric_id = {}
27m_metric_tag = {}
28m_metric_tag['counter_reset']      = "[000]"
29m_metric_tag['ncycles']            = "[001]"
30m_metric_tag['local_read']         = "[002]"
31m_metric_tag['remote_read']        = "[003]"
32m_metric_tag['read_cost']          = "[004]"
33m_metric_tag['local_write']        = "[005]"
34m_metric_tag['remote_write']       = "[006]"
35m_metric_tag['write_flits_local']  = "[007]"
36m_metric_tag['write_flits_remote'] = "[008]"
37m_metric_tag['write_cost']         = "[009]"
38m_metric_tag['local_ll']           = "[010]"
39m_metric_tag['remote_ll']          = "[011]"
40m_metric_tag['ll_cost']            = "[012]"
41m_metric_tag['local_sc']           = "[013]"
42m_metric_tag['remote_sc']          = "[014]"
43m_metric_tag['sc_cost']            = "[015]"
44m_metric_tag['local_cas']          = "[016]"
45m_metric_tag['remote_cas']         = "[017]"
46m_metric_tag['cas_cost']           = "[018]"
47m_metric_tag['req_trig_update']    = "[019]"
48m_metric_tag['local_update']       = "[020]"
49m_metric_tag['remote_update']      = "[021]"
50m_metric_tag['update_cost']        = "[022]"
51m_metric_tag['req_trig_m_inv']     = "[023]"
52m_metric_tag['local_m_inv']        = "[024]"
53m_metric_tag['remote_m_inv']       = "[025]"
54m_metric_tag['m_inv_cost']         = "[026]"
55m_metric_tag['broadcast']          = "[027]"
56m_metric_tag['local_cleanup']      = "[028]"
57m_metric_tag['remote_cleanup']     = "[029]"
58m_metric_tag['cleanup_cost']       = "[030]"
59m_metric_tag['nb_read_miss']       = "[031]"
60m_metric_tag['write_miss']         = "[032]"
61m_metric_tag['write_dirty']        = "[033]"
62m_metric_tag['read_hit_trt']       = "[034]" # Reads blocked by a hit in the TRT
63m_metric_tag['trans_full_trt']     = "[035]" # Transactions blocked because the TRT is full
64m_metric_tag['put']                = "[036]"
65m_metric_tag['get']                = "[037]"
66m_metric_tag['write_broadcast']    = "[038]"
67
68m_metric_tag['total_read']         = "[040]"
69m_metric_tag['total_write']        = "[041]"
70m_metric_tag['total_ll']           = "[042]"
71m_metric_tag['total_sc']           = "[043]"
72m_metric_tag['total_cas']          = "[044]"
73m_metric_tag['total_update']       = "[045]"
74m_metric_tag['total_m_inv']        = "[046]"
75m_metric_tag['total_cleanup']      = "[047]"
76m_metric_tag['total_direct']       = "[048]"
77
78m_metric_tag['nonwrite_broadcast'] = "[050]"
79m_metric_tag['broadcast_cost']     = "[051]"
80m_metric_tag['direct_cost']        = "[052]"
81m_metric_tag['total_stacked']      = "|060]"
82
83all_metrics = m_metric_tag.keys()
84all_tags = m_metric_tag.values()
85
86m_metric_name = {}
87m_metric_name['counter_reset']      = "Counters reset at cycle"
88m_metric_name['ncycles']            = "Number of Cycles"
89m_metric_name['local_read']         = "Number of Local Reads (Miss in L1)"
90m_metric_name['remote_read']        = "Number of Remote Reads (Miss in L1)"
91m_metric_name['read_cost']          = "Read Cost"
92m_metric_name['local_write']        = "Number of Local Writes"
93m_metric_name['remote_write']       = "Number of Remote Writes"
94m_metric_name['write_flits_local']  = "Number of Local Write Flits"
95m_metric_name['write_flits_remote'] = "Number of Remote Write Flits"
96m_metric_name['write_cost']         = "Write Cost"
97m_metric_name['local_ll']           = "Number of Local LL"
98m_metric_name['remote_ll']          = "Number of Remote LL"
99m_metric_name['ll_cost']            = "LL Cost"
100m_metric_name['local_sc']           = "Number of Local SC"
101m_metric_name['remote_sc']          = "Number of Remote SC"
102m_metric_name['sc_cost']            = "SC Cost"
103m_metric_name['local_cas']          = "Number of Local CAS"
104m_metric_name['remote_cas']         = "Number of Remote CAS"
105m_metric_name['cas_cost']           = "CAS Cost"
106m_metric_name['req_trig_update']    = "Number of Requests Triggering an Update"
107m_metric_name['local_update']       = "Number of Local Updates"
108m_metric_name['remote_update']      = "Number of Remote Updates"
109m_metric_name['update_cost']        = "Update Cost"
110m_metric_name['req_trig_m_inv']     = "Number of Requests Triggering a M.inv"
111m_metric_name['local_m_inv']        = "Number of Local Multi Inval"
112m_metric_name['remote_m_inv']       = "Number of Remote Multi Inval"
113m_metric_name['m_inv_cost']         = "Multi Inval Cost"
114m_metric_name['broadcast']          = "Number of Broadcasts"
115m_metric_name['broadcast']          = "Total Number of Broadcasts"
116m_metric_name['local_cleanup']      = "Number of Local Cleanups"
117m_metric_name['remote_cleanup']     = "Number of Remote Cleanups"
118m_metric_name['cleanup_cost']       = "Cleanup Cost"
119m_metric_name['nb_read_miss']       = "Number of Read Miss (in L2)"
120m_metric_name['write_miss']         = "Number of Write Miss (in L2)"
121m_metric_name['write_dirty']        = "Number of Write Dirty (from L2 to Memory)"
122m_metric_name['read_hit_trt']       = "Number of Reads Blocked by a Hit in TRT" # Reads blocked by a hit in the TRT
123m_metric_name['trans_full_trt']     = "Number of Transactions Blocked because the TRT is Full" # Transactions blocked because the TRT is full
124m_metric_name['put']                = "Number of PUT to Memory"
125m_metric_name['get']                = "Number of GET from Memory"
126m_metric_name['write_broadcast']    = "Number of Broadcasts Trig. by Writes"
127
128m_metric_name['total_read']         = "Total Number of Reads"
129m_metric_name['total_write']        = "Total Number of Writes"
130m_metric_name['total_ll']           = "Total Number of LL"
131m_metric_name['total_sc']           = "Total Number of SC"
132m_metric_name['total_cas']          = "Total Number of CAS"
133m_metric_name['total_update']       = "Total Number of Updates"
134m_metric_name['total_m_inv']        = "Total Number of Multi Inval"
135m_metric_name['total_cleanup']      = "Total Number of Cleanups"
136m_metric_name['total_direct']       = "Total Number of Direct Requests"
137m_metric_name['nonwrite_broadcast'] = "Number of Broadcasts not Trig. by Writes"
138m_metric_name['broadcast_cost']     = "Broadcast Cost"
139m_metric_name['direct_cost']        = "Direct Requests Cost"
140m_metric_name['total_stacked']      = "??" # Normalization factor
141
142
143
144m_metric_norm = {} # "N" (None), P (#procs), C (#cycles), W (#writes), R (#reads), D (#direct req -- R ou W), n (value with n proc(s))
145m_metric_norm['req_trig_update']   = "C"
146m_metric_norm['local_update']      = "C"
147m_metric_norm['remote_update']     = "C"
148m_metric_norm['update_cost']       = "C"
149m_metric_norm['req_trig_m_inv']    = "C"
150m_metric_norm['local_m_inv']       = "C"
151m_metric_norm['remote_m_inv']      = "C"
152m_metric_norm['m_inv_cost']        = "C"
153m_metric_norm['broadcast']         = "C"
154m_metric_norm['total_update']      = "C"
155m_metric_norm['total_m_inv']       = "C"
156
157m_norm_factor_name = {}
158m_norm_factor_name['N']   = ""
159m_norm_factor_name['P']   = "Normalized w.r.t.\\nthe Number of Processors"
160m_norm_factor_name['C']   = "Normalized w.r.t.\\nthe Number of Cycles (x 1000)"
161m_norm_factor_name['W']   = "Normalized w.r.t.\\nthe Number of Writes"
162m_norm_factor_name['R']   = "Normalized w.r.t.\\nthe Number of Reads"
163m_norm_factor_name['D']   = "Normalized w.r.t.\\nthe Number of Direct Requests"
164m_norm_factor_name['1']   = "Normalized w.r.t.\\nthe Value on 1 Processor"
165m_norm_factor_name['4']   = "Normalized w.r.t.\\nthe Value on 4 Processors"
166m_norm_factor_name['8']   = "Normalized w.r.t.\\nthe Value on 8 Processors"
167m_norm_factor_name['16']  = "Normalized w.r.t.\\nthe Value on 16 Processors"
168m_norm_factor_name['32']  = "Normalized w.r.t.\\nthe Value on 32 Processors"
169m_norm_factor_name['64']  = "Normalized w.r.t.\\nthe Value on 64 Processors"
170m_norm_factor_name['128'] = "Normalized w.r.t.\\nthe Value on 128 Processors"
171m_norm_factor_name['256'] = "Normalized w.r.t.\\nthe Value on 256 Processors"
172
173
174
175colors = [ "\"#008000\"", "\"#000080\"", "\"#BADC98\"", "\"#BA98DC\"", "\"#98DCBA\"", "\"#98BADC\"", "\"#BA9876\"", "\"#BA7698\"", "\"#98BA76\"", "\"#9876BA\"", "\"#76BA98\"", "\"#7698BA\"" ]
176
177
Note: See TracBrowser for help on using the repository browser.