diff options
| author | Wilson Fung <[email protected]> | 2012-02-19 06:02:32 -0800 |
|---|---|---|
| committer | Andrew Boktor <[email protected]> | 2014-08-14 13:19:03 -0700 |
| commit | 85ff8940cb900dff92f459d9d24a0597997e41b7 (patch) | |
| tree | 28814b5fd3fd00e557b0b964197f59e2cf6914b1 /src/gpgpu-sim/shader.h | |
| parent | 141d3315afb01d0b9b73480578e536a2d4e2f176 (diff) | |
Grouped all instruction counting code into a common member function in shader_core_ctx. Now m_num_sim_insn counts scalar thread instructions. A new counter is added for warp instructions.
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 11472]
Diffstat (limited to 'src/gpgpu-sim/shader.h')
| -rw-r--r-- | src/gpgpu-sim/shader.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gpgpu-sim/shader.h b/src/gpgpu-sim/shader.h index d367b7f..1d86f02 100644 --- a/src/gpgpu-sim/shader.h +++ b/src/gpgpu-sim/shader.h @@ -990,7 +990,8 @@ struct shader_core_config : public core_config }; struct shader_core_stats_pod { - unsigned *m_num_sim_insn; // number of instructions committed by this shader core + unsigned *m_num_sim_insn; // number of scalar thread instructions committed by this shader core + unsigned *m_num_sim_winsn; // number of warp instructions committed by this shader core unsigned *m_n_diverge; // number of divergence occurring in this shader unsigned gpgpu_n_load_insn; unsigned gpgpu_n_store_insn; @@ -1031,6 +1032,7 @@ public: memset(pod,0,sizeof(shader_core_stats_pod)); m_num_sim_insn = (unsigned*) calloc(config->num_shader(),sizeof(unsigned)); + m_num_sim_winsn = (unsigned*) calloc(config->num_shader(),sizeof(unsigned)); m_n_diverge = (unsigned*) calloc(config->num_shader(),sizeof(unsigned)); shader_cycle_distro = (unsigned*) calloc(config->warp_size+3, sizeof(unsigned)); last_shader_cycle_distro = (unsigned*) calloc(m_config->warp_size+3, sizeof(unsigned)); @@ -1144,6 +1146,7 @@ public: void store_ack( class mem_fetch *mf ); bool warp_waiting_at_mem_barrier( unsigned warp_id ); void set_max_cta( const kernel_info_t &kernel ); + void warp_inst_complete(const warp_inst_t &inst); // accessors std::list<unsigned> get_regs_written( const inst_t &fvt ) const; |
