diff --git a/util/job_launching/get_stats.py b/util/job_launching/get_stats.py index be4de5a5c..309115a8d 100755 --- a/util/job_launching/get_stats.py +++ b/util/job_launching/get_stats.py @@ -105,17 +105,26 @@ def millify(n): specific_jobIds = {} stats_to_pull = {} + +# stat names without the regex +statnames_to_pull = {} + stats_yaml = yaml.load(open(options.stats_yml), Loader=yaml.FullLoader ) stats= {} -for stat in stats_yaml['collect_aggregate']: - stats_to_pull[stat] = re.compile(stat), "agg" +for statname_and_regex in stats_yaml['collect_aggregate']: + for statname,regex in statname_and_regex.items(): + stats_to_pull[regex] = re.compile(regex), "agg" + statnames_to_pull[regex] = statname -for stat in stats_yaml['collect_abs']: - stats_to_pull[stat] = re.compile(stat), "abs" - -for stat in stats_yaml['collect_rates']: - stats_to_pull[stat] = re.compile(stat), "rate" +for statname_and_regex in stats_yaml['collect_abs']: + for statname,regex in statname_and_regex.items(): + stats_to_pull[regex] = re.compile(regex), "abs" + statnames_to_pull[regex] = statname +for statname_and_regex in stats_yaml['collect_rates']: + for statname,regex in statname_and_regex.items(): + stats_to_pull[regex] = re.compile(regex), "rate" + statnames_to_pull[regex] = statname if options.configs_list != "" and options.benchmark_list != "": for app in common.gen_apps_from_suite_list(options.benchmark_list.split(",")): @@ -274,7 +283,8 @@ def millify(n): if existance_test != None: stat_found.add(stat_name) number = existance_test.group(1).strip() - stat_map["final_kernel" + app_and_args + config + stat_name] = number + stat_map["final_kernel" + app_and_args + config \ + + statnames_to_pull[stat_name]] = number if len(stat_found) == len(stats_to_pull): break del lines @@ -295,8 +305,10 @@ def millify(n): if last_kernel_break: print("NOTE::::: Found Max Insn reached in {0} - ignoring last kernel.".format(outfile), file=sys.stderr) for stat_name in stats_to_pull.keys(): - if current_kernel + app_and_args + config + stat_name in stat_map: - del stat_map[current_kernel + app_and_args + config + stat_name] + if current_kernel + app_and_args + config + \ + statnames_to_pull[stat_name] in stat_map: + del stat_map[current_kernel + app_and_args + config \ + + statnames_to_pull[stat_name]] kernel_match = re.match("kernel_name\s+=\s+(.*)", line); if kernel_match: @@ -326,8 +338,12 @@ def millify(n): stat_found.add(stat_name) number = existance_test.group(1).strip() if statType != "agg": - stat_map[current_kernel + app_and_args + config + stat_name] = number - elif current_kernel + app_and_args + config + stat_name in stat_map: + stat_map[current_kernel + app_and_args + config + \ + statnames_to_pull[stat_name]] = number + elif current_kernel + app_and_args + config + \ + statnames_to_pull[stat_name] in stat_map: + stat_name = statnames_to_pull[stat_name]; + if stat_name in raw_last: stat_last_kernel = raw_last[stat_name] else: @@ -335,6 +351,7 @@ def millify(n): raw_last[ stat_name ] = float(number) stat_map[current_kernel + app_and_args + config + stat_name] += ( float(number) - stat_last_kernel ) else: + stat_name = statnames_to_pull[stat_name]; if last_kernel + app_and_args + config + stat_name in stat_map: stat_last_kernel = raw_last[stat_name] else: @@ -356,10 +373,12 @@ def millify(n): common.print_stat( "Accel-Sim-build", all_kernels, apps_and_args, configs, stat_map, options.configs_as_rows, options.do_averages ) common.print_stat( "GPGPU-Sim-build", all_kernels, apps_and_args, configs, stat_map, options.configs_as_rows, options.do_averages ) -for stat_name in ( stats_yaml['collect_aggregate'] +\ +for statname_and_regex in ( stats_yaml['collect_aggregate'] +\ stats_yaml['collect_abs'] +\ stats_yaml['collect_rates'] ): - common.print_stat( stat_name, all_named_kernels, apps_and_args, configs, stat_map, options.configs_as_rows, options.do_averages ) + for stat_name,regex in statname_and_regex.items(): + common.print_stat( stat_name, all_named_kernels, apps_and_args, configs, stat_map, \ + options.configs_as_rows, options.do_averages ) duration = time.time() - start_time diff --git a/util/job_launching/stats/example_stats.yml b/util/job_launching/stats/example_stats.yml index 5b3a52351..1d519a541 100644 --- a/util/job_launching/stats/example_stats.yml +++ b/util/job_launching/stats/example_stats.yml @@ -5,38 +5,50 @@ # Here is a handy regex tester that helps get the thing right faster without re-running stuff: # http://www.regexpal.com/ +# Please specify each metric in the following form: +# - {:} +# The display metric name may be customized as it is outside the regex + # These stats are continuously aggregated - even between kerenels and should # be diff'd to get the per-kernel stats collect_aggregate: - - 'gpu_tot_sim_insn\s*=\s*(.*)' - - 'gpgpu_simulation_time\s*=.*\(([0-9]+) sec\).*' - - 'gpu_tot_sim_cycle\s*=\s*(.*)' - - '\s+L2_cache_stats_breakdown\[GLOBAL_ACC_R\]\[HIT\]\s*=\s*(.*)' - - '\s+L2_cache_stats_breakdown\[GLOBAL_ACC_R\]\[TOTAL_ACCESS\]\s*=\s*(.*)' - - '\s+L2_cache_stats_breakdown\[GLOBAL_ACC_W\]\[HIT\]\s*=\s*(.*)' - - '\s+L2_cache_stats_breakdown\[GLOBAL_ACC_W\]\[TOTAL_ACCESS\]\s*=\s*(.*)' - - '\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_R\]\[TOTAL_ACCESS\]\s*=\s*(.*)' - - '\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_R\]\[HIT\]\s*=\s*(.*)' - - '\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_W\]\[HIT\]\s*=\s*(.*)' - - '\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_W\]\[TOTAL_ACCESS\]\s*=\s*(.*)' - - '\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_R\]\[MSHR_HIT\]\s*=\s*(.*)' - - 'gpgpu_n_tot_w_icount\s*=\s*(.*)' - - 'total dram reads\s*=\s*(.*)' - - 'total dram writes\s*=\s*(.*)' - - 'kernel_launch_uid\s*=\s*(.*)' - + - {'gpu_tot_sim_insn':'gpu_tot_sim_insn\s*=\s*(.*)'} + - {'gpgpu_simulation_time':'gpgpu_simulation_time\s*=.*\(([0-9]+) sec\).*'} + - {'gpu_tot_sim_cycle':'gpu_tot_sim_cycle\s*=\s*(.*)'} + - {'L2_cache_stats_breakdown[GLOBAL_ACC_R][HIT]': + '\s+L2_cache_stats_breakdown\[GLOBAL_ACC_R\]\[HIT\]\s*=\s*(.*)'} + - {'L2_cache_stats_breakdown[GLOBAL_ACC_R][TOTAL_ACCESS]': + '\s+L2_cache_stats_breakdown\[GLOBAL_ACC_R\]\[TOTAL_ACCESS\]\s*=\s*(.*)'} + - {'L2_cache_stats_breakdown[GLOBAL_ACC_W][HIT]': + '\s+L2_cache_stats_breakdown\[GLOBAL_ACC_W\]\[HIT\]\s*=\s*(.*)'} + - {'L2_cache_stats_breakdown[GLOBAL_ACC_W][TOTAL_ACCESS]': + '\s+L2_cache_stats_breakdown\[GLOBAL_ACC_W\]\[TOTAL_ACCESS\]\s*=\s*(.*)'} + - {'Total_core_cache_stats_breakdown[GLOBAL_ACC_R][TOTAL_ACCESS]': + '\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_R\]\[TOTAL_ACCESS\]\s*=\s*(.*)'} + - {'Total_core_cache_stats_breakdown[GLOBAL_ACC_R][HIT]': + '\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_R\]\[HIT\]\s*=\s*(.*)'} + - {'Total_core_cache_stats_breakdown[GLOBAL_ACC_W][HIT]': + '\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_W\]\[HIT\]\s*=\s*(.*)'} + - {'Total_core_cache_stats_breakdown[GLOBAL_ACC_W][TOTAL_ACCESS]': + '\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_W\]\[TOTAL_ACCESS\]\s*=\s*(.*)'} + - {'Total_core_cache_stats_breakdown[GLOBAL_ACC_R][MSHR_HIT]': + '\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_R\]\[MSHR_HIT\]\s*=\s*(.*)'} + - {'gpgpu_n_tot_w_icount':'gpgpu_n_tot_w_icount\s*=\s*(.*)'} + - {'total_dram_reads':'total dram reads\s*=\s*(.*)'} + - {'total_dram_writes':'total dram writes\s*=\s*(.*)'} + - {'kernel_launch_uid':'kernel_launch_uid\s*=\s*(.*)'} # These stats are reset each kernel and should not be diff'd # They cannot be used is only collecting the final_kernel stats collect_abs: - - 'gpu_ipc\s*=\s*(.*)' - - 'gpu_occupancy\s*=\s*(.*)%' - - 'L2_BW\s*=\s*(.*)+GB\/Sec' + - {'gpu_ipc':'gpu_ipc\s*=\s*(.*)'} + - {'gpu_occupancy':'gpu_occupancy\s*=\s*(.*)%'} + - {'L2_BW':'L2_BW\s*=\s*(.*)+GB\/Sec'} # These stats are rates that aggregate - but cannot be diff'd # Only valid as a snapshot and most useful for the final kernel launch collect_rates: - - 'gpgpu_simulation_rate\s+=\s+(.*)\s+\(inst\/sec\)' - - 'gpgpu_simulation_rate\s+=\s+(.*)\s+\(cycle\/sec\)' - - 'gpgpu_silicon_slowdown\s*=\s*(.*)x' - - 'gpu_tot_ipc\s*=\s*(.*)' + - {'gpgpu_simulation_rate(inst/sec)':'gpgpu_simulation_rate\s+=\s+(.*)\s+\(inst\/sec\)'} + - {'gpgpu_simulation_rate(cycle/sec)':'gpgpu_simulation_rate\s+=\s+(.*)\s+\(cycle\/sec\)'} + - {'gpgpu_silicon_slowdown':'gpgpu_silicon_slowdown\s*=\s*(.*)x'} + - {'gpu_tot_ipc':'gpu_tot_ipc\s*=\s*(.*)'} diff --git a/util/plotting/correl_mappings.py b/util/plotting/correl_mappings.py index eb44dd9ad..8b631bac7 100644 --- a/util/plotting/correl_mappings.py +++ b/util/plotting/correl_mappings.py @@ -27,7 +27,7 @@ hw_eval="np.average(hw[\"Duration\"])*1200", hw_error="np.max(hw[\"Duration\"])*1200 - np.average(hw[\"Duration\"])*1200,"+\ "np.average(hw[\"Duration\"])*1200 - np.min(hw[\"Duration\"])*1200", - sim_eval="float(sim[\"gpu_tot_sim_cycle\s*=\s*(.*)\"])", + sim_eval="float(sim[\"gpu_tot_sim_cycle\"])", hw_name="TITAN V", drophwnumbelow=0, plottype="log", @@ -39,7 +39,7 @@ hw_eval="np.average(hw[\"Duration\"])*1417", hw_error="np.max(hw[\"Duration\"])*1417 - np.average(hw[\"Duration\"])*1417,"+\ "np.average(hw[\"Duration\"])*1417 - np.min(hw[\"Duration\"])*1417", - sim_eval="float(sim[\"gpu_tot_sim_cycle\s*=\s*(.*)\"])", + sim_eval="float(sim[\"gpu_tot_sim_cycle\"])", hw_name="TITAN X (Pascal)", drophwnumbelow=0, plottype="log", @@ -51,7 +51,7 @@ hw_eval="np.average(hw[\"Duration\"])*1400", hw_error="np.max(hw[\"Duration\"])*1400 - np.average(hw[\"Duration\"])*1400,"+\ "np.average(hw[\"Duration\"])*1400 - np.min(hw[\"Duration\"])*1400", - sim_eval="float(sim[\"gpu_tot_sim_cycle\s*=\s*(.*)\"])*2", + sim_eval="float(sim[\"gpu_tot_sim_cycle\"])*2", hw_name="GeForce GTX 480", drophwnumbelow=0, plottype="log", @@ -63,7 +63,7 @@ hw_eval="np.average(hw[\"Duration\"])*1480", hw_error="np.max(hw[\"Duration\"])*1480 - np.average(hw[\"Duration\"])*1480,"+\ "np.average(hw[\"Duration\"])*1480 - np.min(hw[\"Duration\"])*1480", - sim_eval="float(sim[\"gpu_tot_sim_cycle\s*=\s*(.*)\"])", + sim_eval="float(sim[\"gpu_tot_sim_cycle\"])", hw_name="Tesla P100", drophwnumbelow=0, plottype="log", @@ -75,7 +75,7 @@ hw_eval="np.average(hw[\"Duration\"])*1480", hw_error="np.max(hw[\"Duration\"])*1480 - np.average(hw[\"Duration\"])*1480,"+\ "np.average(hw[\"Duration\"])*1480 - np.min(hw[\"Duration\"])*1480", - sim_eval="float(sim[\"gpu_tot_sim_cycle\s*=\s*(.*)\"])", + sim_eval="float(sim[\"gpu_tot_sim_cycle\"])", hw_name="GeForce GTX 1080 Ti", drophwnumbelow=0, plottype="log", @@ -87,7 +87,7 @@ hw_eval="np.average(hw[\"Duration\"])*1132", hw_error="np.max(hw[\"Duration\"])*1132 - np.average(hw[\"Duration\"])*1132,"+\ "np.average(hw[\"Duration\"])*1132 - np.min(hw[\"Duration\"])*1132", - sim_eval="float(sim[\"gpu_tot_sim_cycle\s*=\s*(.*)\"])", + sim_eval="float(sim[\"gpu_tot_sim_cycle\"])", hw_name="Quadro GV100", drophwnumbelow=0, plottype="log", @@ -98,7 +98,7 @@ hw_eval="np.average(hw[\"elapsed_cycles_sm\"])/80", hw_error="np.max(hw[\"elapsed_cycles_sm\"])/80 - np.average(hw[\"elapsed_cycles_sm\"])/80,"+\ "np.average(hw[\"elapsed_cycles_sm\"])/80 - np.min(hw[\"elapsed_cycles_sm\"])/80", - sim_eval="float(sim[\"gpu_tot_sim_cycle\s*=\s*(.*)\"])", + sim_eval="float(sim[\"gpu_tot_sim_cycle\"])", hw_name="Quadro GV100", drophwnumbelow=0, plottype="log", @@ -109,7 +109,7 @@ hw_eval="np.average(hw[\"gpc__cycles_elapsed.avg\"])", hw_error="np.max(hw[\"gpc__cycles_elapsed.avg\"]) - np.average(hw[\"gpc__cycles_elapsed.avg\"]),"+\ "np.average(hw[\"gpc__cycles_elapsed.avg\"]) - np.min(hw[\"gpc__cycles_elapsed.avg\"])", - sim_eval="float(sim[\"gpu_tot_sim_cycle\s*=\s*(.*)\"])", + sim_eval="float(sim[\"gpu_tot_sim_cycle\"])", hw_name="all", drophwnumbelow=0, plottype="log", @@ -121,7 +121,7 @@ hw_eval="np.average(hw[\"Duration\"])*1455", hw_error="np.max(hw[\"Duration\"])*1455 - np.average(hw[\"Duration\"])*1455,"+\ "np.average(hw[\"Duration\"])*1455 - np.min(hw[\"Duration\"])*1455", - sim_eval="float(sim[\"gpu_tot_sim_cycle\s*=\s*(.*)\"])", + sim_eval="float(sim[\"gpu_tot_sim_cycle\"])", hw_name="Tesla V100-SXM2-32GB", drophwnumbelow=0, plottype="log", @@ -132,7 +132,7 @@ hw_eval="np.average(hw[\"elapsed_cycles_sm\"])/80", hw_error="np.max(hw[\"elapsed_cycles_sm\"])/80 - np.average(hw[\"elapsed_cycles_sm\"])/80,"+\ "np.average(hw[\"elapsed_cycles_sm\"])/80 - np.min(hw[\"elapsed_cycles_sm\"])/80", - sim_eval="float(sim[\"gpu_tot_sim_cycle\s*=\s*(.*)\"])", + sim_eval="float(sim[\"gpu_tot_sim_cycle\"])", hw_name="Tesla V100-SXM2-32GB", drophwnumbelow=0, plottype="log", @@ -144,7 +144,7 @@ hw_eval="np.average(hw[\"Duration\"])*837", hw_error="np.max(hw[\"Duration\"])*837 - np.average(hw[\"Duration\"])*837,"+\ "np.average(hw[\"Duration\"])*837 - np.min(hw[\"Duration\"])*837", - sim_eval="float(sim[\"gpu_tot_sim_cycle\s*=\s*(.*)\"])", + sim_eval="float(sim[\"gpu_tot_sim_cycle\"])", hw_name="GeForce GTX TITAN", drophwnumbelow=0, plottype="log", @@ -155,7 +155,7 @@ hw_eval="np.average(hw[\"elapsed_cycles_sm\"])/14", hw_error="np.max(hw[\"elapsed_cycles_sm\"])/14 - np.average(hw[\"elapsed_cycles_sm\"])/14,"+\ "np.average(hw[\"elapsed_cycles_sm\"])/14 - np.min(hw[\"elapsed_cycles_sm\"])/14", - sim_eval="float(sim[\"gpu_tot_sim_cycle\s*=\s*(.*)\"])", + sim_eval="float(sim[\"gpu_tot_sim_cycle\"])", hw_name="GeForce GTX TITAN", drophwnumbelow=0, plottype="log", @@ -167,7 +167,7 @@ hw_eval="np.average(hw[\"gpc__cycles_elapsed.avg\"])", hw_error="np.max(hw[\"gpc__cycles_elapsed.avg\"]) - np.average(hw[\"gpc__cycles_elapsed.avg\"]),"+\ "np.average(hw[\"gpc__cycles_elapsed.avg\"]) - np.min(hw[\"gpc__cycles_elapsed.avg\"])", - sim_eval="float(sim[\"gpu_tot_sim_cycle\s*=\s*(.*)\"])", + sim_eval="float(sim[\"gpu_tot_sim_cycle\"])", hw_name="GeForce RTX 2060", drophwnumbelow=0, plottype="log", @@ -179,7 +179,7 @@ plotfile="warp-inst", hw_eval="np.average(hw[\"inst_issued\"])", hw_error=None, - sim_eval="float(sim[\"gpgpu_n_tot_w_icount\s*=\s*(.*)\"])", + sim_eval="float(sim[\"gpgpu_n_tot_w_icount\"])", hw_name="all", drophwnumbelow=0, plottype="log", @@ -189,7 +189,7 @@ plotfile="l2-read-hits", hw_eval="np.average(hw[\"l2_tex_read_transactions\"])*np.average(hw[\"l2_tex_read_hit_rate\"])/100", hw_error=None, - sim_eval="float(sim[\"\s+L2_cache_stats_breakdown\[GLOBAL_ACC_R\]\[HIT\]\s*=\s*(.*)\"])", + sim_eval="float(sim[\"L2_cache_stats_breakdown[GLOBAL_ACC_R][HIT]\"])", hw_name="all", drophwnumbelow=0, plottype="log", @@ -199,7 +199,7 @@ plotfile="l2-read-transactions", hw_eval="np.average(hw[\"l2_tex_read_transactions\"])", hw_error=None, - sim_eval="float(sim[\"\s+L2_cache_stats_breakdown\[GLOBAL_ACC_R\]\[TOTAL_ACCESS\]\s*=\s*(.*)\"])", + sim_eval="float(sim[\"L2_cache_stats_breakdown[GLOBAL_ACC_R][TOTAL_ACCESS]\"])", hw_name="all", drophwnumbelow=0, plottype="log", @@ -209,7 +209,7 @@ plotfile="l2-write-transactions", hw_eval="np.average(hw[\"l2_tex_write_transactions\"])", hw_error=None, - sim_eval="float(sim[\"\s+L2_cache_stats_breakdown\[GLOBAL_ACC_W\]\[TOTAL_ACCESS\]\s*=\s*(.*)\"])", + sim_eval="float(sim[\"L2_cache_stats_breakdown[GLOBAL_ACC_W][TOTAL_ACCESS]\"])", hw_name="all", drophwnumbelow=0, plottype="log", @@ -219,7 +219,7 @@ plotfile="l2-write-hits", hw_eval="np.average(hw[\"l2_tex_write_transactions\"]) * np.average(hw[\"l2_tex_write_hit_rate\"]) / 100.0", hw_error=None, - sim_eval="float(sim[\"\s+L2_cache_stats_breakdown\[GLOBAL_ACC_W\]\[HIT\]\s*=\s*(.*)\"])", + sim_eval="float(sim[\"L2_cache_stats_breakdown[GLOBAL_ACC_W][HIT]\"])", hw_name="all", drophwnumbelow=0, plottype="log", @@ -229,7 +229,7 @@ plotfile="l2_bw", hw_eval="np.average(hw[\"l2_tex_read_throughput\"])", hw_error=None, - sim_eval="float(sim[\"L2_BW\s*=\s*(.*)GB\/Sec\"])", + sim_eval="float(sim[\"L2_BW\"])", hw_name="all", drophwnumbelow=0, plottype="linear", @@ -240,8 +240,8 @@ hw_eval="np.average(hw[\"l2_tex_read_hit_rate\"])", hw_error=None, sim_eval= - "100*float(sim[\"\s+L2_cache_stats_breakdown\[GLOBAL_ACC_R\]\[HIT\]\s*=\s*(.*)\"])/"+\ - "float(sim[\"\s+L2_cache_stats_breakdown\[GLOBAL_ACC_R\]\[TOTAL_ACCESS\]\s*=\s*(.*)\"])", + "100*float(sim[\"L2_cache_stats_breakdown[GLOBAL_ACC_R][HIT]\"])/"+\ + "float(sim[\"L2_cache_stats_breakdown[GLOBAL_ACC_R][TOTAL_ACCESS]\"])", hw_name="all", drophwnumbelow=0, plottype="linear", @@ -252,8 +252,8 @@ hw_eval="np.average(hw[\"l2_tex_write_hit_rate\"])", hw_error=None, sim_eval= - "100*float(sim[\"\s+L2_cache_stats_breakdown\[GLOBAL_ACC_W\]\[HIT\]\s*=\s*(.*)\"])/"+\ - "float(sim[\"\s+L2_cache_stats_breakdown\[GLOBAL_ACC_W\]\[TOTAL_ACCESS\]\s*=\s*(.*)\"])", + "100*float(sim[\"L2_cache_stats_breakdown[GLOBAL_ACC_W][HIT]\"])/"+\ + "float(sim[\"L2_cache_stats_breakdown[GLOBAL_ACC_W][TOTAL_ACCESS]\"])", hw_name="all", drophwnumbelow=0, plottype="linear", @@ -263,7 +263,7 @@ plotfile="occupancy", hw_eval="np.average(hw[\"achieved_occupancy\"])*100", hw_error=None, - sim_eval="float(sim[\"gpu_occupancy\s*=\s*(.*)%\"])", + sim_eval="float(sim[\"gpu_occupancy\"])", hw_name="all", drophwnumbelow=0, plottype="linear", @@ -273,9 +273,9 @@ plotfile="l1hitrate", hw_eval="np.average(hw[\"tex_cache_hit_rate\"])", hw_error=None, - sim_eval="float(sim[\"\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_R\]\[HIT\]\s*=\s*(.*)\"])" +\ - "/(float(sim[\"\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_W\]\[TOTAL_ACCESS\]\s*=\s*(.*)\"])" +\ - "+float(sim[\"\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_R\]\[TOTAL_ACCESS\]\s*=\s*(.*)\"]) + 1) * 100", + sim_eval="float(sim[\"Total_core_cache_stats_breakdown[GLOBAL_ACC_R][HIT]\"])" +\ + "/(float(sim[\"Total_core_cache_stats_breakdown[GLOBAL_ACC_W][TOTAL_ACCESS]\"])" +\ + "+float(sim[\"Total_core_cache_stats_breakdown[GLOBAL_ACC_R][TOTAL_ACCESS]\"]) + 1) * 100", hw_name="all", drophwnumbelow=0, plottype="linear", @@ -285,10 +285,10 @@ plotfile="l1hitrate.global", hw_eval="np.average(hw[\"global_hit_rate\"])", hw_error=None, - sim_eval="(float(sim[\"\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_R\]\[HIT\]\s*=\s*(.*)\"])" +\ - " + float(sim[\"\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_W\]\[HIT\]\s*=\s*(.*)\"]))" +\ - "/(float(sim[\"\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_W\]\[TOTAL_ACCESS\]\s*=\s*(.*)\"])" +\ - "+float(sim[\"\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_R\]\[TOTAL_ACCESS\]\s*=\s*(.*)\"]) + 1) * 100", + sim_eval="(float(sim[\"Total_core_cache_stats_breakdown[GLOBAL_ACC_R][HIT]\"])" +\ + " + float(sim[\"Total_core_cache_stats_breakdown[GLOBAL_ACC_W][HIT]\"]))" +\ + "/(float(sim[\"Total_core_cache_stats_breakdown[GLOBAL_ACC_W][TOTAL_ACCESS]\"])" +\ + "+float(sim[\"Total_core_cache_stats_breakdown[GLOBAL_ACC_R][TOTAL_ACCESS]\"]) + 1) * 100", hw_name="all", drophwnumbelow=0, plottype="linear", @@ -298,7 +298,7 @@ plotfile="l1readaccess", hw_eval="np.average(hw[\"gld_transactions\"])", hw_error=None, - sim_eval="float(sim[\"\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_R\]\[TOTAL_ACCESS\]\s*=\s*(.*)\"])", + sim_eval="float(sim[\"Total_core_cache_stats_breakdown[GLOBAL_ACC_R][TOTAL_ACCESS]\"])", hw_name="all", drophwnumbelow=0, plottype="log", @@ -308,9 +308,9 @@ plotfile="l1_bw", hw_eval="np.average(hw[\"tex_cache_throughput\"])", hw_error=None, - sim_eval="((float(sim[\"\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_R\]\[TOTAL_ACCESS\]\s*=\s*(.*)\"])" +\ - " + float(sim[\"\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_W\]\[TOTAL_ACCESS\]\s*=\s*(.*)\"])) * 32 * 1.132)/" +\ - "float(sim[\"gpu_tot_sim_cycle\s*=\s*(.*)\"])", + sim_eval="((float(sim[\"Total_core_cache_stats_breakdown[GLOBAL_ACC_R][TOTAL_ACCESS]\"])" +\ + " + float(sim[\"Total_core_cache_stats_breakdown[GLOBAL_ACC_W][TOTAL_ACCESS]\"])) * 32 * 1.132)/" +\ + "float(sim[\"gpu_tot_sim_cycle\"])", hw_name="Quadro GV100", drophwnumbelow=0, plottype="linear", @@ -321,7 +321,7 @@ hw_eval="np.average(hw[\"dram_read_transactions\"])", hw_error=None, # sim_eval="float(sim[\"Read\s*=\s*(.*)\"])+float(sim[\"L2_Alloc\s*=\s*(.*)\"])*24", - sim_eval="float(sim[\"total dram reads\s*=\s*(.*)\"])", + sim_eval="float(sim[\"total_dram_reads\"])", hw_name="all", drophwnumbelow=0, plottype="log", @@ -331,7 +331,7 @@ plotfile="dram-write-transactions", hw_eval="np.average(hw[\"dram_write_transactions\"])", hw_error=None, - sim_eval="float(sim[\"total dram writes\s*=\s*(.*)\"])", + sim_eval="float(sim[\"total_dram_writes\"])", hw_name="all", drophwnumbelow=0, plottype="log", @@ -344,7 +344,7 @@ plotfile="warp-inst", hw_eval="np.average(hw[\"smsp__inst_executed.sum\"])", hw_error=None, - sim_eval="float(sim[\"gpgpu_n_tot_w_icount\s*=\s*(.*)\"])", + sim_eval="float(sim[\"gpgpu_n_tot_w_icount\"])", hw_name="all", drophwnumbelow=0, plottype="log", @@ -354,7 +354,7 @@ plotfile="l2-read-hits", hw_eval="np.average(hw[\"lts__t_sectors_srcunit_tex_op_read_lookup_hit.sum\"])", hw_error=None, - sim_eval="float(sim[\"\s+L2_cache_stats_breakdown\[GLOBAL_ACC_R\]\[HIT\]\s*=\s*(.*)\"])", + sim_eval="float(sim[\"L2_cache_stats_breakdown[GLOBAL_ACC_R][HIT]\"])", hw_name="all", drophwnumbelow=0, plottype="log", @@ -364,7 +364,7 @@ plotfile="l2-read-transactions", hw_eval="np.average(hw[\"lts__t_sectors_srcunit_tex_op_read.sum\"])", hw_error=None, - sim_eval="float(sim[\"\s+L2_cache_stats_breakdown\[GLOBAL_ACC_R\]\[TOTAL_ACCESS\]\s*=\s*(.*)\"])", + sim_eval="float(sim[\"L2_cache_stats_breakdown[GLOBAL_ACC_R][TOTAL_ACCESS]\"])", hw_name="all", drophwnumbelow=0, plottype="log", @@ -374,7 +374,7 @@ plotfile="l2-write-transactions", hw_eval="np.average(hw[\"lts__t_sectors_srcunit_tex_op_write.sum\"])", hw_error=None, - sim_eval="float(sim[\"\s+L2_cache_stats_breakdown\[GLOBAL_ACC_W\]\[TOTAL_ACCESS\]\s*=\s*(.*)\"])", + sim_eval="float(sim[\"L2_cache_stats_breakdown[GLOBAL_ACC_W][TOTAL_ACCESS]\"])", hw_name="all", drophwnumbelow=0, plottype="log", @@ -384,7 +384,7 @@ plotfile="l2-write-hits", hw_eval="np.average(hw[\"lts__t_sectors_srcunit_tex_op_write_lookup_hit.sum\"])", hw_error=None, - sim_eval="float(sim[\"\s+L2_cache_stats_breakdown\[GLOBAL_ACC_W\]\[HIT\]\s*=\s*(.*)\"])", + sim_eval="float(sim[\"L2_cache_stats_breakdown[GLOBAL_ACC_W][HIT]\"])", hw_name="all", drophwnumbelow=0, plottype="log", @@ -394,7 +394,7 @@ plotfile="l2_bw", hw_eval="np.average(hw[\"lts__t_sectors_srcunit_tex_op_read.sum.per_second\"] * 32)", hw_error=None, - sim_eval="float(sim[\"L2_BW\s*=\s*(.*)GB\/Sec\"])", + sim_eval="float(sim[\"L2_BW\"])", hw_name="all", drophwnumbelow=0, plottype="linear", @@ -405,8 +405,8 @@ hw_eval="np.average(hw[\"lts__t_sector_op_read_hit_rate.pct\"])", hw_error=None, sim_eval= - "100*float(sim[\"\s+L2_cache_stats_breakdown\[GLOBAL_ACC_R\]\[HIT\]\s*=\s*(.*)\"])/"+\ - "float(sim[\"\s+L2_cache_stats_breakdown\[GLOBAL_ACC_R\]\[TOTAL_ACCESS\]\s*=\s*(.*)\"])", + "100*float(sim[\"L2_cache_stats_breakdown[GLOBAL_ACC_R][HIT]\"])/"+\ + "float(sim[\"L2_cache_stats_breakdown[GLOBAL_ACC_R][TOTAL_ACCESS]\"])", hw_name="all", drophwnumbelow=0, plottype="linear", @@ -417,8 +417,8 @@ hw_eval="np.average(hw[\"lts__t_sector_op_write_hit_rate.pct\"])", hw_error=None, sim_eval= - "100*float(sim[\"\s+L2_cache_stats_breakdown\[GLOBAL_ACC_W\]\[HIT\]\s*=\s*(.*)\"])/"+\ - "float(sim[\"\s+L2_cache_stats_breakdown\[GLOBAL_ACC_W\]\[TOTAL_ACCESS\]\s*=\s*(.*)\"])", + "100*float(sim[\"L2_cache_stats_breakdown[GLOBAL_ACC_W][HIT]\"])/"+\ + "float(sim[\"L2_cache_stats_breakdown[GLOBAL_ACC_W][TOTAL_ACCESS]\"])", hw_name="all", drophwnumbelow=0, plottype="linear", @@ -428,7 +428,7 @@ plotfile="occupancy", hw_eval="np.average(hw[\"sm__warps_active.avg.pct_of_peak_sustained_active\"])", hw_error=None, - sim_eval="float(sim[\"gpu_occupancy\s*=\s*(.*)%\"])", + sim_eval="float(sim[\"gpu_occupancy\"])", hw_name="all", drophwnumbelow=0, plottype="linear", @@ -438,8 +438,8 @@ plotfile="l1hitreads", hw_eval="np.average(hw[\"l1tex__t_sectors_pipe_lsu_mem_global_op_ld_lookup_hit.sum\"])", hw_error=None, - sim_eval="float(sim[\"\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_R\]\[HIT\]\s*=\s*(.*)\"])" +\ - "+float(sim[\"\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_R\]\[MSHR_HIT\]\s*=\s*(.*)\"])", + sim_eval="float(sim[\"Total_core_cache_stats_breakdown[GLOBAL_ACC_R][HIT]\"])" +\ + "+float(sim[\"Total_core_cache_stats_breakdown[GLOBAL_ACC_R][MSHR_HIT]\"])", hw_name="all", drophwnumbelow=0, plottype="log", @@ -449,7 +449,7 @@ plotfile="l1hitwrites", hw_eval="np.average(hw[\"l1tex__t_sectors_pipe_lsu_mem_global_op_st_lookup_hit.sum\"])", hw_error=None, - sim_eval="float(sim[\"\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_W\]\[HIT\]\s*=\s*(.*)\"])", + sim_eval="float(sim[\"Total_core_cache_stats_breakdown[GLOBAL_ACC_W][HIT]\"])", hw_name="all", drophwnumbelow=0, plottype="log", @@ -459,7 +459,7 @@ plotfile="l1readaccess", hw_eval="np.average(hw[\"l1tex__t_sectors_pipe_lsu_mem_global_op_ld.sum\"])", hw_error=None, - sim_eval="float(sim[\"\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_R\]\[TOTAL_ACCESS\]\s*=\s*(.*)\"])", + sim_eval="float(sim[\"Total_core_cache_stats_breakdown[GLOBAL_ACC_R][TOTAL_ACCESS]\"])", hw_name="all", drophwnumbelow=0, plottype="log", @@ -469,7 +469,7 @@ plotfile="l1writeaccess", hw_eval="np.average(hw[\"l1tex__t_sectors_pipe_lsu_mem_global_op_st.sum\"])", hw_error=None, - sim_eval="float(sim[\"\s+Total_core_cache_stats_breakdown\[GLOBAL_ACC_W\]\[TOTAL_ACCESS\]\s*=\s*(.*)\"])", + sim_eval="float(sim[\"Total_core_cache_stats_breakdown[GLOBAL_ACC_W][TOTAL_ACCESS]\"])", hw_name="all", drophwnumbelow=0, plottype="log", @@ -480,7 +480,7 @@ hw_eval="np.average(hw[\"dram__sectors_read.sum\"])", hw_error=None, # sim_eval="float(sim[\"Read\s*=\s*(.*)\"])+float(sim[\"L2_Alloc\s*=\s*(.*)\"])*24", - sim_eval="float(sim[\"total dram reads\s*=\s*(.*)\"])", + sim_eval="float(sim[\"total_dram_reads\"])", hw_name="all", drophwnumbelow=0, plottype="log", @@ -490,7 +490,7 @@ plotfile="dram-write-transactions", hw_eval="np.average(hw[\"dram__sectors_write.sum\"])", hw_error=None, - sim_eval="float(sim[\"total dram writes\s*=\s*(.*)\"])", + sim_eval="float(sim[\"total_dram_writes\"])", hw_name="all", drophwnumbelow=0, plottype="log", @@ -502,7 +502,7 @@ hw_eval="np.average(hw[\"inst_issued\"])/(np.average(hw[\"elapsed_cycles_sm\"])/80)", hw_error="np.average(hw[\"inst_issued\"])/(np.max(hw[\"elapsed_cycles_sm\"])/80) - np.average(hw[\"inst_issued\"])/(np.average(hw[\"elapsed_cycles_sm\"])/80),"+\ "np.average(hw[\"inst_issued\"])/(np.average(hw[\"elapsed_cycles_sm\"])/80) - np.average(hw[\"inst_issued\"])/(np.min(hw[\"elapsed_cycles_sm\"])/80)", - sim_eval="np.average(hw[\"inst_issued\"])/float(sim[\"gpu_tot_sim_cycle\s*=\s*(.*)\"])", + sim_eval="np.average(hw[\"inst_issued\"])/float(sim[\"gpu_tot_sim_cycle\"])", hw_name="all", drophwnumbelow=0, plottype="linear",