aboutsummaryrefslogtreecommitdiff
path: root/src/gpgpu-sim/shader.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpgpu-sim/shader.h')
-rw-r--r--src/gpgpu-sim/shader.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gpgpu-sim/shader.h b/src/gpgpu-sim/shader.h
index 07cd2d0..6481790 100644
--- a/src/gpgpu-sim/shader.h
+++ b/src/gpgpu-sim/shader.h
@@ -238,6 +238,7 @@ class shd_warp_t {
unsigned get_dynamic_warp_id() const { return m_dynamic_warp_id; }
unsigned get_warp_id() const { return m_warp_id; }
+ class shader_core_ctx * get_shader() { return m_shader; }
private:
static const unsigned IBUFFER_SIZE = 2;
class shader_core_ctx *m_shader;
@@ -1668,6 +1669,7 @@ struct shader_core_stats_pod {
unsigned *single_issue_nums;
unsigned *dual_issue_nums;
+ unsigned ctas_completed;
// memory access classification
int gpgpu_n_mem_read_local;
int gpgpu_n_mem_write_local;
@@ -1781,6 +1783,7 @@ class shader_core_stats : public shader_core_stats_pod {
dual_issue_nums =
(unsigned *)calloc(config->gpgpu_num_sched_per_core, sizeof(unsigned));
+ ctas_completed = 0;
n_simt_to_mem = (long *)calloc(config->num_shader(), sizeof(long));
n_mem_to_simt = (long *)calloc(config->num_shader(), sizeof(long));
@@ -2129,7 +2132,7 @@ class shader_core_ctx : public core_t {
friend class scheduler_unit; // this is needed to use private issue warp.
friend class TwoLevelScheduler;
friend class LooseRoundRobbinScheduler;
- void issue_warp(register_set &warp, const warp_inst_t *pI,
+ virtual void issue_warp(register_set &warp, const warp_inst_t *pI,
const active_mask_t &active_mask, unsigned warp_id,
unsigned sch_id);