summaryrefslogtreecommitdiff
path: root/src/gpgpu-sim/shader.cc
diff options
context:
space:
mode:
authorTayler Hetherington <[email protected]>2013-04-07 22:57:26 -0800
committerAndrew Boktor <[email protected]>2014-08-14 13:50:45 -0700
commit6f6c192ff335a5ed41008b69e7eb34929d7db3dd (patch)
tree6e5f437274d2bebf89e728985a281470afaa22c5 /src/gpgpu-sim/shader.cc
parent2fd5f159b3729c021ac4fbf8aa54f91c2f3ec166 (diff)
Cleaning up interconnection network memory partition to core statistics. Now counting the number of flits arriving at the cores instead of the number of flits leaving each memory partition.
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15746]
Diffstat (limited to 'src/gpgpu-sim/shader.cc')
-rw-r--r--src/gpgpu-sim/shader.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/gpgpu-sim/shader.cc b/src/gpgpu-sim/shader.cc
index d38f300..ba44c01 100644
--- a/src/gpgpu-sim/shader.cc
+++ b/src/gpgpu-sim/shader.cc
@@ -2621,8 +2621,9 @@ void shader_core_ctx::get_cache_stats(unsigned &read_accesses, unsigned &write_a
m_ldst_unit->get_cache_stats(read_accesses, write_accesses, read_misses, write_misses, cache_type);
}
-void shader_core_ctx::set_icnt_power_stats(unsigned &n_simt_to_mem) const{
+void shader_core_ctx::set_icnt_power_stats(unsigned &n_simt_to_mem, unsigned &n_mem_to_simt) const{
n_simt_to_mem += m_stats->n_simt_to_mem[m_sid];
+ n_mem_to_simt += m_stats->n_mem_to_simt[m_sid];
}
bool shd_warp_t::functional_done() const
@@ -3109,6 +3110,7 @@ void simt_core_cluster::icnt_cycle()
mf->set_status(IN_CLUSTER_TO_SHADER_QUEUE,gpu_sim_cycle+gpu_tot_sim_cycle);
//m_memory_stats->memlatstat_read_done(mf,m_shader_config->max_warps_per_shader);
m_response_fifo.push_back(mf);
+ m_stats->n_mem_to_simt[m_config->sid_to_cid(mf->get_sid())] += mf->get_num_flits(false);
}
}
@@ -3143,9 +3145,9 @@ void simt_core_cluster::get_cache_stats(unsigned &read_accesses, unsigned &write
}
}
-void simt_core_cluster::set_icnt_stats(unsigned &n_simt_to_mem) const {
+void simt_core_cluster::set_icnt_stats(unsigned &n_simt_to_mem, unsigned &n_mem_to_simt) const {
for ( unsigned i = 0; i < m_config->n_simt_cores_per_cluster; ++i ) {
- m_core[i]->set_icnt_power_stats(n_simt_to_mem);
+ m_core[i]->set_icnt_power_stats(n_simt_to_mem, n_mem_to_simt);
}
}