Changeset 790


Ignore:
Timestamp:
Sep 3, 2014, 2:41:18 PM (7 years ago)
Author:
meunier
Message:

Trunk:

  • Updating scripts in tsar_generic_xbar in order to reflect recent changes in counter definitions
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  
    3030m_app_name['fft'] = "FFT"
    3131m_app_name['radix'] = "Radix"
    32 m_app_name['fft_ga'] = "FFT"
    33 m_app_name['radix_ga'] = "Radix"
     32m_app_name['fft_ga'] = "FFT (opt.)"
     33m_app_name['radix_ga'] = "Radix (opt.)"
    3434
    3535m_metric_id = {}
     
    7373m_metric_tag['broadcast']          = "[080]"
    7474m_metric_tag['write_broadcast']    = "[081]"
     75m_metric_tag['getm_broadcast']     = "[082]"
    7576
    7677m_metric_tag['local_cleanup']      = "[090]"
    7778m_metric_tag['remote_cleanup']     = "[091]"
    7879m_metric_tag['cleanup_cost']       = "[092]"
    79 m_metric_tag['cleanup_data_flits'] = "[093]"
     80m_metric_tag['local_cleanup_d']    = "[093]"
     81m_metric_tag['remote_cleanup_d']   = "[094]"
     82m_metric_tag['cleanup_d_cost']     = "[095]"
    8083
    8184m_metric_tag['read_miss']          = "[100]"
    8285m_metric_tag['write_miss']         = "[101]"
    8386m_metric_tag['write_dirty']        = "[102]"
     87m_metric_tag['getm_miss']          = "[103]"
     88
    8489m_metric_tag['read_hit_trt']       = "[110]" # Reads blocked by a hit in the TRT
    8590m_metric_tag['trans_full_trt']     = "[111]" # Transactions blocked because the TRT is full
     
    9196m_metric_tag['ncc_to_cc_write']    = "[141]"
    9297
    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]"
     98m_metric_tag['local_getm']         = "[150]"
     99m_metric_tag['remote_getm']        = "[151]"
     100m_metric_tag['getm_cost']          = "[152]"
     101
     102m_metric_tag['local_inval_ro']     = "[160]"
     103m_metric_tag['remote_inval_ro']    = "[161]"
     104m_metric_tag['inval_ro_cost']      = "[162]"
     105
     106
    107107
    108108all_metrics = m_metric_tag.keys()
     
    110110
    111111m_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)
     112m_metric_name['counter_reset']       = "Counters reset at cycle"
     113m_metric_name['ncycles']             = "Number of Cycles"
     114
     115m_metric_name['local_read']          = "Number of Local Reads (Miss in L1)"
     116m_metric_name['remote_read']         = "Number of Remote Reads (Miss in L1)"
     117m_metric_name['read_cost']           = "Read Cost"
     118
     119m_metric_name['local_write']         = "Number of Local Writes"
     120m_metric_name['remote_write']        = "Number of Remote Writes"
     121m_metric_name['write_flits_local']   = "Number of Local Write Flits"
     122m_metric_name['write_flits_remote']  = "Number of Remote Write Flits"
     123m_metric_name['write_cost']          = "Write Cost"
     124
     125m_metric_name['local_ll']            = "Number of Local LL"
     126m_metric_name['remote_ll']           = "Number of Remote LL"
     127m_metric_name['ll_cost']             = "LL Cost"
     128
     129m_metric_name['local_sc']            = "Number of Local SC"
     130m_metric_name['remote_sc']           = "Number of Remote SC"
     131m_metric_name['sc_cost']             = "SC Cost"
     132
     133m_metric_name['local_cas']           = "Number of Local CAS"
     134m_metric_name['remote_cas']          = "Number of Remote CAS"
     135m_metric_name['cas_cost']            = "CAS Cost"
     136
     137m_metric_name['req_trig_update']     = "Number of Requests Triggering an Update"
     138m_metric_name['local_update']        = "Number of Local Updates"
     139m_metric_name['remote_update']       = "Number of Remote Updates"
     140m_metric_name['update_cost']         = "Update Cost"
     141
     142m_metric_name['req_trig_m_inv']      = "Number of Requests Triggering a M.inv"
     143m_metric_name['local_m_inv']         = "Number of Local Multi Inval"
     144m_metric_name['remote_m_inv']        = "Number of Remote Multi Inval"
     145m_metric_name['m_inv_cost']          = "Multi Inval Cost"
     146
     147m_metric_name['broadcast']           = "Total Number of Broadcasts"
     148m_metric_name['write_broadcast']     = "Number of Broadcasts Trig. by Writes"
     149m_metric_name['nonwrite_broadcast']  = "Number of Broadcasts not Trig. by Writes"
     150m_metric_name['getm_broadcast']      = "Number of Broadcasts Trig. by GetM"
     151
     152m_metric_name['local_cleanup']       = "Number of Local Cleanups"
     153m_metric_name['remote_cleanup']      = "Number of Remote Cleanups"
     154m_metric_name['cleanup_cost']        = "Cleanup Cost"
     155m_metric_name['local_cleanup_d']     = "Number of Local Cleanups with Data"
     156m_metric_name['remote_cleanup_d']    = "Number of Remote Cleanups with Data"
     157m_metric_name['cleanup_d_cost']      = "Cleanup with Data Cost"
     158
     159m_metric_name['read_miss']           = "Number of Read Miss (in L2)"
     160m_metric_name['write_miss']          = "Number of Write Miss (in L2)"
     161m_metric_name['write_dirty']         = "Number of Write Dirty (from L2 to Memory)"
     162m_metric_name['getm_miss']           = "Number of GetM Miss (in L2)"
     163
     164m_metric_name['read_hit_trt']        = "Number of Reads Blocked by a Hit in TRT" # Reads blocked by a hit in the TRT
     165m_metric_name['trans_full_trt']      = "Number of Transactions Blocked because the TRT is Full" # Transactions blocked because the TRT is full
     166m_metric_name['put']                 = "Number of PUT to Memory"
     167m_metric_name['get']                 = "Number of GET from Memory"
     168m_metric_name['min_heap_slots_av']   = "Minimum Number of Heap Slots available"
     169
     170m_metric_name['ncc_to_cc_read']      = "Number or Reads trig. NCC to CC"
     171m_metric_name['ncc_to_cc_write']     = "Number of Writes trig. NCC to CC"
     172
     173m_metric_name['local_getm']          = "Number of Local GetM"
     174m_metric_name['remote_getm']         = "Number of Remote GetM"
     175m_metric_name['getm_cost']           = "GetM Cost"
     176
     177m_metric_name['local_inval_ro']      = "Number of Local Inval RO"
     178m_metric_name['remote_inval_ro']     = "Number of Remote Inval RO"
     179m_metric_name['inval_ro_cost']       = "Inval RO Cost"
     180
     181
     182m_metric_name['total_read']          = "Total Number of Reads"
     183m_metric_name['total_write']         = "Total Number of Writes"
     184m_metric_name['total_ll']            = "Total Number of LL"
     185m_metric_name['total_sc']            = "Total Number of SC"
     186m_metric_name['total_cas']           = "Total Number of CAS"
     187m_metric_name['total_update']        = "Total Number of Updates"
     188m_metric_name['total_m_inv']         = "Total Number of Multi Inval"
     189m_metric_name['total_cleanup']       = "Total Number of Cleanups"
     190m_metric_name['total_cleanup_d']     = "Total Number of Cleanups with Data"
     191m_metric_name['total_direct']        = "Total Number of Direct Requests"
     192m_metric_name['total_ncc_to_cc']     = "Total Number of NCC to CC Changes"
     193m_metric_name['broadcast_cost']      = "Broadcast Cost"
     194m_metric_name['direct_cost']         = "Direct Requests Cost"
     195m_metric_name['total_stacked']       = "??" # Normalization factor, does not have a name (unused)
    180196
    181197
  • trunk/platforms/tsar_generic_xbar/scripts/create_graphs.py

    r779 r790  
    88
    99#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' ]
     11apps = [ 'fft', 'fft_ga' ]
    1212nb_procs = [ 1, 4, 8, 16, 32, 64, 128, 256 ]
    13 single_protocols = ['dhccp']
    14 #joint_protocols = ['dhccp', 'rwt']
    15 joint_protocols = []
     13single_protocols = ['dhccp', 'rwt']
     14joint_protocols = ['dhccp', 'rwt']
     15#joint_protocols = []
    1616
    1717top_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..")
     
    123123      for i in nb_procs:
    124124         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']
    136139         metrics_val[prot][app][i]['broadcast_cost']  = metrics_val[prot][app][i]['broadcast'] * (x * y - 1)
    137140         if metrics_val[prot][app][i]['broadcast'] < metrics_val[prot][app][i]['write_broadcast']:
    138141            # test to patch a bug in mem_cache
    139142            metrics_val[prot][app][i]['nonwrite_broadcast'] = 0
     143            print "*** Error which should not happen anymore: incorrect number of Broadcasts/Write Broadcasts"
    140144         else:
    141145            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  
    1515rerun_stats = False
    1616use_omp = False
    17 protocol = 'rwt'
     17protocol = 'dhccp'
    1818
    1919#apps = [ 'histogram', 'mandel', 'filter', 'radix_ga', 'fft_ga', 'kmeans' ]
     
    3232# to come: 'barnes', 'fmm', 'ocean', 'raytrace', 'radiosity', 'waters', 'watern'
    3333
    34 all_protocols = [ 'dhccp', 'rwt', 'mesi' ]
     34all_protocols = [ 'dhccp', 'rwt', 'hmesi' ]
    3535
    3636top_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..")
     
    9292        sys.exit()
    9393
    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"
     94if 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"
    100100        sys.exit()
    101101
     
    177177    elif protocol == "rwt":
    178178        arch_dir = rwt_dir
    179     elif protocol == "mesi":
    180         archi_dir = mesi_dir
     179    elif protocol == "hmesi":
     180        arch_dir = hmesi_dir
    181181    else:
    182182        assert(False)
Note: See TracChangeset for help on using the changeset viewer.