summaryrefslogtreecommitdiff
path: root/src/cuda-sim/ptx_sim.h
diff options
context:
space:
mode:
authorsspenst <[email protected]>2016-08-05 14:45:56 -0700
committersspenst <[email protected]>2016-08-05 14:45:56 -0700
commitd1b45cf53a39261663a3eff0d409d6c1220d923d (patch)
tree85ab2442c3f6e581195650626c8e8586eed9e8b9 /src/cuda-sim/ptx_sim.h
parent9a6b68c5b11fbdb239d25afe60e5135bc2afa88d (diff)
Added ptx_warp_info to know how many threads within a warp have executed
Diffstat (limited to 'src/cuda-sim/ptx_sim.h')
-rw-r--r--src/cuda-sim/ptx_sim.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/cuda-sim/ptx_sim.h b/src/cuda-sim/ptx_sim.h
index 4e748e9..c62fa57 100644
--- a/src/cuda-sim/ptx_sim.h
+++ b/src/cuda-sim/ptx_sim.h
@@ -171,6 +171,17 @@ private:
std::set<ptx_thread_info*> m_dangling_pointers;
};
+class ptx_warp_info {
+public:
+ ptx_warp_info(); // add get_core or something, or threads?
+ unsigned get_done_threads() const;
+ void inc_done_threads();
+ void reset_done_threads();
+
+private:
+ unsigned m_done_threads;
+};
+
class symbol;
struct stack_entry {
@@ -430,6 +441,7 @@ public:
memory_space *m_shared_mem;
memory_space *m_sstarr_mem;
memory_space *m_local_mem;
+ ptx_warp_info *m_warp_info;
ptx_cta_info *m_cta_info;
ptx_reg_t m_last_set_operand_value;