From 07cf089e9d81e71c104ee81c63ee5d8be904d1b0 Mon Sep 17 00:00:00 2001 From: Wilson Fung Date: Thu, 7 Jun 2012 21:06:00 -0800 Subject: Fix for bug 168 (internal). The overall average memory latency should now be reporting the actual overall, instead of the average of just the final sampling window for AerialVision. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13045] --- src/gpgpu-sim/gpu-sim.cc | 2 +- src/gpgpu-sim/l2cache.cc | 6 ++++-- src/gpgpu-sim/mem_latency_stat.cc | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) (limited to 'src/gpgpu-sim') diff --git a/src/gpgpu-sim/gpu-sim.cc b/src/gpgpu-sim/gpu-sim.cc index a2b9db2..cffec45 100644 --- a/src/gpgpu-sim/gpu-sim.cc +++ b/src/gpgpu-sim/gpu-sim.cc @@ -919,8 +919,8 @@ void gpgpu_sim::cycle() (unsigned)days,(unsigned)hrs,(unsigned)minutes,(unsigned)sec, ctime(&curr_time)); fflush(stdout); - m_memory_stats->memlatstat_lat_pw(); visualizer_printstat(); + m_memory_stats->memlatstat_lat_pw(); if (m_config.gpgpu_runtime_stat && (m_config.gpu_runtime_stat_flag != 0) ) { if (m_config.gpu_runtime_stat_flag & GPU_RSTAT_BW_STAT) { for (unsigned i=0;im_n_mem;i++) diff --git a/src/gpgpu-sim/l2cache.cc b/src/gpgpu-sim/l2cache.cc index e57717f..a252c84 100644 --- a/src/gpgpu-sim/l2cache.cc +++ b/src/gpgpu-sim/l2cache.cc @@ -228,8 +228,10 @@ void memory_stats_t::visualizer_print( gzFile visualizer_file ) gzprintf(visualizer_file, "Ltwowritehit: %d\n", L2_write_hit); gzprintf(visualizer_file, "Ltworeadmiss: %d\n", L2_read_miss); gzprintf(visualizer_file, "Ltworeadhit: %d\n", L2_read_hit); - if (num_mfs) - gzprintf(visualizer_file, "averagemflatency: %lld\n", mf_total_lat/num_mfs); + signed long long average_mf_latency = 0; + if (mf_num_lat_pw) + average_mf_latency = mf_tot_lat_pw / mf_num_lat_pw; + gzprintf(visualizer_file, "averagemflatency: %lld\n", average_mf_latency); } void gpgpu_sim::L2c_print_cache_stat() const diff --git a/src/gpgpu-sim/mem_latency_stat.cc b/src/gpgpu-sim/mem_latency_stat.cc index 68cd850..284ad74 100644 --- a/src/gpgpu-sim/mem_latency_stat.cc +++ b/src/gpgpu-sim/mem_latency_stat.cc @@ -202,8 +202,8 @@ void memory_stats_t::memlatstat_lat_pw() { if (mf_num_lat_pw && m_memory_config->gpgpu_memlatency_stat) { assert(mf_tot_lat_pw); - mf_total_lat = mf_tot_lat_pw; - num_mfs = mf_num_lat_pw; + mf_total_lat += mf_tot_lat_pw; + num_mfs += mf_num_lat_pw; mf_lat_pw_table[LOGB2(mf_tot_lat_pw/mf_num_lat_pw)]++; mf_tot_lat_pw = 0; mf_num_lat_pw = 0; -- cgit v1.3