summaryrefslogtreecommitdiff
path: root/src/gpgpu-sim/shader.h
diff options
context:
space:
mode:
authorDavit Grigoryan <[email protected]>2026-04-28 09:50:44 +0000
committerDavit Grigoryan <[email protected]>2026-04-28 09:50:44 +0000
commit3d4d274eb3a6a23a5924b557d010590e219c5256 (patch)
tree451bc70a5292e9cc055645f2d7365c3332df8385 /src/gpgpu-sim/shader.h
parent2e2f1c89a6b296c9cb28c8e8b0fabb670b4ba3f7 (diff)
fix atomic counters; add more dbg prints
Diffstat (limited to 'src/gpgpu-sim/shader.h')
-rw-r--r--src/gpgpu-sim/shader.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gpgpu-sim/shader.h b/src/gpgpu-sim/shader.h
index f25ba0e..51ed214 100644
--- a/src/gpgpu-sim/shader.h
+++ b/src/gpgpu-sim/shader.h
@@ -2503,6 +2503,12 @@ class shader_core_ctx : public core_t {
const shader_core_config *config,
const memory_config *mem_config, shader_core_stats *stats);
+ // Read-only diagnostic — dumps every warp's state (flags, ibuffer,
+ // simt_tables, scoreboard) to help localize a deadlocked warp. Called
+ // from gpu-sim.cc deadlock_check() under MEMCO_DBG_DEADLOCK env var.
+ // Public so simt_core_cluster can invoke without relying on friendship.
+ void dump_warps_at_deadlock(FILE *fout);
+
// used by simt_core_cluster:
// modifiers
void cycle();
@@ -3110,6 +3116,9 @@ class simt_core_cluster {
unsigned max_cta(const kernel_info_t &kernel);
unsigned get_not_completed() const;
void print_not_completed(FILE *fp) const;
+ // Read-only diagnostic — dumps each non-empty core's per-warp state
+ // (see shader_core_ctx::dump_warps_at_deadlock).
+ void dump_warps_at_deadlock(FILE *fp);
unsigned get_n_active_cta() const;
unsigned get_n_active_sms() const;
gpgpu_sim *get_gpu() { return m_gpu; }