summaryrefslogtreecommitdiff
path: root/src/gpgpu-sim/l2cache.cc
diff options
context:
space:
mode:
authorTim Rogers <[email protected]>2019-06-19 10:33:43 -0400
committerGitHub <[email protected]>2019-06-19 10:33:43 -0400
commita1e2c4273542ca78098c9f4f25eebc087e0aec37 (patch)
tree2edd1e7c751b32fe75e392e6a595a0c99ff8b52f /src/gpgpu-sim/l2cache.cc
parentaaf29157d28fd5ee9ebdafb86338a28df73e3baf (diff)
parent1a0dbc16e1a1959741385345b2bce38fb89c8695 (diff)
Merge pull request #96 from CoffeeBeforeArch/AerialVision_cache_support
AerialVision L2 Cache Support
Diffstat (limited to 'src/gpgpu-sim/l2cache.cc')
-rw-r--r--src/gpgpu-sim/l2cache.cc42
1 files changed, 36 insertions, 6 deletions
diff --git a/src/gpgpu-sim/l2cache.cc b/src/gpgpu-sim/l2cache.cc
index 25da107..0edc3b7 100644
--- a/src/gpgpu-sim/l2cache.cc
+++ b/src/gpgpu-sim/l2cache.cc
@@ -519,14 +519,23 @@ void memory_sub_partition::print( FILE *fp ) const
void memory_stats_t::visualizer_print( gzFile visualizer_file )
{
- // gzprintf(visualizer_file, "Ltwowritemiss: %d\n", L2_write_miss);
- // gzprintf(visualizer_file, "Ltwowritehit: %d\n", L2_write_access-L2_write_miss);
- // gzprintf(visualizer_file, "Ltworeadmiss: %d\n", L2_read_miss);
- // gzprintf(visualizer_file, "Ltworeadhit: %d\n", L2_read_access-L2_read_miss);
+ gzprintf(visualizer_file, "Ltwowritemiss: %d\n", L2_write_miss);
+ 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);
+ clear_L2_stats_pw();
+
if (num_mfs)
gzprintf(visualizer_file, "averagemflatency: %lld\n", mf_total_lat/num_mfs);
}
+void memory_stats_t::clear_L2_stats_pw(){
+ L2_write_miss = 0;
+ L2_write_hit = 0;
+ L2_read_miss = 0;
+ L2_read_hit = 0;
+}
+
void gpgpu_sim::print_dram_stats(FILE *fout) const
{
unsigned cmd=0;
@@ -718,8 +727,29 @@ void memory_sub_partition::get_L2cache_sub_stats(struct cache_sub_stats &css) co
}
}
+void memory_sub_partition::get_L2cache_sub_stats_pw(struct cache_sub_stats_pw &css) const{
+ if (!m_config->m_L2_config.disabled()) {
+ m_L2cache->get_sub_stats_pw(css);
+ }
+}
+
+void memory_sub_partition::clear_L2cache_stats_pw() {
+ if (!m_config->m_L2_config.disabled()) {
+ m_L2cache->clear_pw();
+ }
+}
+
void memory_sub_partition::visualizer_print( gzFile visualizer_file )
{
- // TODO: Add visualizer stats for L2 cache
-}
+ // Support for L2 AerialVision stats
+ // Per-sub-partition stats would be trivial to extend from this
+ cache_sub_stats_pw temp_sub_stats;
+ get_L2cache_sub_stats_pw(temp_sub_stats);
+
+ m_stats->L2_read_miss += temp_sub_stats.read_misses;
+ m_stats->L2_write_miss += temp_sub_stats.write_misses;
+ m_stats->L2_read_hit += temp_sub_stats.read_hits;
+ m_stats->L2_write_hit += temp_sub_stats.write_hits;
+ clear_L2cache_stats_pw();
+}