summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilson Fung <[email protected]>2012-06-07 21:06:00 -0800
committerAndrew Boktor <[email protected]>2014-08-14 13:47:32 -0700
commit07cf089e9d81e71c104ee81c63ee5d8be904d1b0 (patch)
treeb993aed37dbdccd99d9aff0b34fd4243d59a58d6
parent7f9189c1970d1a1d1d007f55d54923b48cccc545 (diff)
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]
-rw-r--r--src/gpgpu-sim/gpu-sim.cc2
-rw-r--r--src/gpgpu-sim/l2cache.cc6
-rw-r--r--src/gpgpu-sim/mem_latency_stat.cc4
3 files changed, 7 insertions, 5 deletions
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;i<m_memory_config->m_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;