diff options
| author | Tor Aamodt <[email protected]> | 2010-11-30 02:15:16 -0800 |
|---|---|---|
| committer | Tor Aamodt <[email protected]> | 2010-11-30 02:15:16 -0800 |
| commit | 52a638e84693fff528defbcbd24ecb58216baaba (patch) | |
| tree | 34449df36f63267119cd048508810a101618fd39 /src/gpgpu-sim/shader.h | |
| parent | 7a47f9cd62902d960a989a920d882f3b77fe7b2a (diff) | |
integrate changes (makes code more modular, i would argue)
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 8179]
Diffstat (limited to 'src/gpgpu-sim/shader.h')
| -rw-r--r-- | src/gpgpu-sim/shader.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/gpgpu-sim/shader.h b/src/gpgpu-sim/shader.h index c312d62..9200c99 100644 --- a/src/gpgpu-sim/shader.h +++ b/src/gpgpu-sim/shader.h @@ -282,6 +282,7 @@ inline unsigned wid_from_hw_tid(unsigned tid, unsigned warp_size){return tid/war #define MAX_WARP_SIZE_SIMT_STACK MAX_WARP_SIZE typedef std::bitset<MAX_WARP_SIZE_SIMT_STACK> simt_mask_t; +typedef std::vector<address_type> addr_vector_t; class simt_stack { public: @@ -289,7 +290,7 @@ public: void reset(); void launch( address_type start_pc, const simt_mask_t &active_mask ); - void update(); + void update( simt_mask_t &thread_done, addr_vector_t &next_pc, address_type recvg_pc ); const simt_mask_t &get_active_mask() const; void get_pdom_stack_top_info( unsigned *pc, unsigned *rpc ) const; @@ -1214,10 +1215,10 @@ private: std::vector<shd_warp_t> m_warp; // per warp information array barrier_set_t m_barriers; ifetch_buffer_t m_inst_fetch_buffer; - simt_stack **m_pdom_warp; // pdom reconvergence context for each warp - warp_inst_t** m_pipeline_reg; - Scoreboard *m_scoreboard; - opndcoll_rfu_t m_operand_collector; + simt_stack **m_simt_stack; // pdom based reconvergence context for each warp + warp_inst_t **m_pipeline_reg; + Scoreboard *m_scoreboard; + opndcoll_rfu_t m_operand_collector; // execute unsigned m_num_function_units; |
