summaryrefslogtreecommitdiff
path: root/src/gpgpu-sim/gpu-sim.cc
diff options
context:
space:
mode:
authorDavit Grigoryan <[email protected]>2026-04-27 02:10:06 +0000
committerDavit Grigoryan <[email protected]>2026-04-27 02:10:06 +0000
commit2f190971f5f952f55197d385c688667439bc6649 (patch)
tree5f9945497f9ac36ee1cbb35d6aca1dea39e6a08b /src/gpgpu-sim/gpu-sim.cc
parent13d5fae1ac28988d071b4459af169e53361921d8 (diff)
add debug scoreboard stats counting
Diffstat (limited to 'src/gpgpu-sim/gpu-sim.cc')
-rw-r--r--src/gpgpu-sim/gpu-sim.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gpgpu-sim/gpu-sim.cc b/src/gpgpu-sim/gpu-sim.cc
index ca51c50..c858c50 100644
--- a/src/gpgpu-sim/gpu-sim.cc
+++ b/src/gpgpu-sim/gpu-sim.cc
@@ -1585,6 +1585,14 @@ void gpgpu_sim::gpu_print_stat(unsigned long long streamID) {
// shader_print_l1_miss_stat( stdout );
shader_print_cache_stats(stdout);
+ // Scoreboard reserve/release accounting (one line per shader). Used to
+ // detect leaks (reserves != releases or remaining > 0) and average
+ // reservation duration vs. expected memory/FU latency.
+ fprintf(statfout, "\nScoreboard accounting:\n");
+ for (unsigned i = 0; i < m_config.num_cluster(); i++) {
+ m_cluster[i]->print_scoreboard_accounting(statfout);
+ }
+
cache_stats core_cache_stats;
core_cache_stats.clear();
for (unsigned i = 0; i < m_config.num_cluster(); i++) {