summaryrefslogtreecommitdiff
path: root/src/gpgpu-sim/gpu-sim.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpgpu-sim/gpu-sim.cc')
-rw-r--r--src/gpgpu-sim/gpu-sim.cc49
1 files changed, 26 insertions, 23 deletions
diff --git a/src/gpgpu-sim/gpu-sim.cc b/src/gpgpu-sim/gpu-sim.cc
index 33393ee..dcbdfe0 100644
--- a/src/gpgpu-sim/gpu-sim.cc
+++ b/src/gpgpu-sim/gpu-sim.cc
@@ -909,32 +909,35 @@ void gpgpu_sim::gpu_print_stat()
m_memory_partition_unit[i]->print(stdout);
// L2 cache stats
- cache_stats l2_stats;
- struct cache_sub_stats l2_css;
- struct cache_sub_stats total_l2_css;
- l2_stats.clear();
- l2_css.clear();
- total_l2_css.clear();
+ if(!m_memory_config->m_L2_config.disabled()){
+ cache_stats l2_stats;
+ struct cache_sub_stats l2_css;
+ struct cache_sub_stats total_l2_css;
+ l2_stats.clear();
+ l2_css.clear();
+ total_l2_css.clear();
- printf("\n========= L2 cache stats =========\n");
- for (unsigned i=0;i<m_memory_config->m_n_mem;i++){
- m_memory_partition_unit[i]->accumulate_L2cache_stats(l2_stats);
- m_memory_partition_unit[i]->get_L2cache_sub_stats(l2_css);
+ printf("\n========= L2 cache stats =========\n");
+ for (unsigned i=0;i<m_memory_config->m_n_mem;i++){
+ m_memory_partition_unit[i]->accumulate_L2cache_stats(l2_stats);
+ m_memory_partition_unit[i]->get_L2cache_sub_stats(l2_css);
- fprintf( stdout, "L2_cache_bank[%d]: Access = %u, Miss = %u, Miss_rate = %.3lf, Pending_hits = %u, Reservation_fails = %u\n",
- i, l2_css.accesses, l2_css.misses, (double)l2_css.misses / (double)l2_css.accesses, l2_css.pending_hits, l2_css.res_fails);
+ fprintf( stdout, "L2_cache_bank[%d]: Access = %u, Miss = %u, Miss_rate = %.3lf, Pending_hits = %u, Reservation_fails = %u\n",
+ i, l2_css.accesses, l2_css.misses, (double)l2_css.misses / (double)l2_css.accesses, l2_css.pending_hits, l2_css.res_fails);
- total_l2_css += l2_css;
- }
- if (!m_memory_config->m_L2_config.disabled() && m_memory_config->m_L2_config.get_num_lines()) {
- //L2c_print_cache_stat();
- printf("L2_total_cache_accesses = %u\n", total_l2_css.accesses);
- printf("L2_total_cache_misses = %u\n", total_l2_css.misses);
- printf("L2_total_cache_miss_rate = %.4lf\n", (double)total_l2_css.misses/(double)total_l2_css.accesses);
- printf("L2_total_cache_pending_hits = %u\n", total_l2_css.pending_hits);
- printf("L2_total_cache_reservation_fails = %u\n", total_l2_css.res_fails);
- printf("L2_total_cache_breakdown:\n");
- l2_stats.print_stats(stdout, "L2_cache_stats_breakdown");
+ total_l2_css += l2_css;
+ }
+ if (!m_memory_config->m_L2_config.disabled() && m_memory_config->m_L2_config.get_num_lines()) {
+ //L2c_print_cache_stat();
+ printf("L2_total_cache_accesses = %u\n", total_l2_css.accesses);
+ printf("L2_total_cache_misses = %u\n", total_l2_css.misses);
+ if(total_l2_css.accesses > 0)
+ printf("L2_total_cache_miss_rate = %.4lf\n", (double)total_l2_css.misses/(double)total_l2_css.accesses);
+ printf("L2_total_cache_pending_hits = %u\n", total_l2_css.pending_hits);
+ printf("L2_total_cache_reservation_fails = %u\n", total_l2_css.res_fails);
+ printf("L2_total_cache_breakdown:\n");
+ l2_stats.print_stats(stdout, "L2_cache_stats_breakdown");
+ }
}
if (m_config.gpgpu_cflog_interval != 0) {