summaryrefslogtreecommitdiff
path: root/src/gpgpu-sim/shader.h
diff options
context:
space:
mode:
authornegargoli93 <[email protected]>2018-07-16 13:18:23 -0700
committernegargoli93 <[email protected]>2018-07-16 13:18:23 -0700
commite541026cfc0ee4be25e7093cb7ff3acfa3cbb6e7 (patch)
treed8b8d20e260d5842b5fa46fb9f240b99b3906c1f /src/gpgpu-sim/shader.h
parentd907c7d848be6ced2b7f2bd2df84b39e57dfbedc (diff)
fix pipline for tensor_core and change config
Diffstat (limited to 'src/gpgpu-sim/shader.h')
-rw-r--r--src/gpgpu-sim/shader.h18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/gpgpu-sim/shader.h b/src/gpgpu-sim/shader.h
index b7deae6..90a3134 100644
--- a/src/gpgpu-sim/shader.h
+++ b/src/gpgpu-sim/shader.h
@@ -1224,13 +1224,13 @@ protected:
enum pipeline_stage_name_t {
ID_OC_SP=0,
ID_OC_SFU,
+ ID_OC_TENSOR_CORE,
ID_OC_MEM,
OC_EX_SP,
OC_EX_SFU,
+ OC_EX_TENSOR_CORE,
OC_EX_MEM,
EX_WB,
- ID_OC_TENSOR_CORE,
- OC_EX_TENSOR_CORE,
N_PIPELINE_STAGES
};
@@ -1268,9 +1268,9 @@ struct shader_core_config : public core_config
strcpy(toks,pipeline_widths_string);
toks = strtok(toks,",");
- pipe_widths[OC_EX_TENSOR_CORE]=1;
- pipe_widths[ID_OC_TENSOR_CORE]=1;
- for (unsigned i = 0; i < N_PIPELINE_STAGES-2; i++) {
+ // pipe_widths[OC_EX_TENSOR_CORE]=1;
+ // pipe_widths[ID_OC_TENSOR_CORE]=1;
+ for (unsigned i = 0; i < N_PIPELINE_STAGES; i++) {
assert(toks);
ntok = sscanf(toks,"%d", &pipe_widths[i]);
assert(ntok == 1);
@@ -1286,12 +1286,12 @@ struct shader_core_config : public core_config
max_warps_per_shader = n_thread_per_shader/warp_size;
assert( !(n_thread_per_shader % warp_size) );
max_sfu_latency = 512;
- max_tensor_core_latency = 512;
+ max_tensor_core_latency = 64;
max_sp_latency = 32;
- gpgpu_num_tensor_core_units=1;
+ gpgpu_num_tensor_core_units=8;
gpgpu_operand_collector_num_units_tensor_core=24;
- gpgpu_operand_collector_num_in_ports_tensor_core=1;
- gpgpu_operand_collector_num_out_ports_tensor_core=1;
+ gpgpu_operand_collector_num_in_ports_tensor_core=8;
+ gpgpu_operand_collector_num_out_ports_tensor_core=8;
m_L1I_config.init(m_L1I_config.m_config_string,FuncCachePreferNone);
m_L1T_config.init(m_L1T_config.m_config_string,FuncCachePreferNone);
m_L1C_config.init(m_L1C_config.m_config_string,FuncCachePreferNone);