summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoraamir <[email protected]>2018-11-05 16:50:52 -0800
committeraamir <[email protected]>2018-11-05 16:50:52 -0800
commitb150969498792d50583674947d7c240cd6a11a68 (patch)
tree9547bddfcc1c124deac5334dfae85a4a051002c4 /src
parenta73e15af1f1f075600fa616e1da8f3e267d27bfa (diff)
addressed the deadlock issue
Diffstat (limited to 'src')
-rw-r--r--src/gpgpu-sim/shader.cc6
-rw-r--r--src/gpgpu-sim/shader.h2
2 files changed, 4 insertions, 4 deletions
diff --git a/src/gpgpu-sim/shader.cc b/src/gpgpu-sim/shader.cc
index 0c0707c..cd2ed26 100644
--- a/src/gpgpu-sim/shader.cc
+++ b/src/gpgpu-sim/shader.cc
@@ -1179,7 +1179,7 @@ void two_level_active_scheduler::order_warps()
for ( std::vector< shd_warp_t* >::iterator iter = m_next_cycle_prioritized_warps.begin();
iter != m_next_cycle_prioritized_warps.end(); ) {
bool waiting = (*iter)->waiting();
- for (int i=0; i<4; i++){
+ for (int i=0; i<MAX_INPUT_VALUES; i++){
const warp_inst_t* inst = (*iter)->ibuffer_next_inst();
//Is the instruction waiting on a long operation?
if ( inst && inst->in[i] > 0 && this->m_scoreboard->islongop((*iter)->get_warp_id(), inst->in[i])){
@@ -1599,7 +1599,7 @@ void ldst_unit::L1_latency_queue_cycle()
assert( !read_sent );
l1_latency_queue[0] = NULL;
if ( mf_next->get_inst().is_load() ) {
- for ( unsigned r=0; r < 4; r++)
+ for ( unsigned r=0; r < MAX_OUTPUT_VALUES; r++)
if (mf_next->get_inst().out[r] > 0)
{
assert(m_pending_writes[mf_next->get_inst().warp_id()][mf_next->get_inst().out[r]]>0);
@@ -2146,7 +2146,7 @@ void ldst_unit::issue( register_set &reg_set )
if (inst->is_load() and inst->space.get_type() != shared_space) {
unsigned warp_id = inst->warp_id();
unsigned n_accesses = inst->accessq_count();
- for (unsigned r = 0; r < 4; r++) {
+ for (unsigned r = 0; r < MAX_OUTPUT_VALUES; r++) {
unsigned reg_id = inst->out[r];
if (reg_id > 0) {
m_pending_writes[warp_id][reg_id] += n_accesses;
diff --git a/src/gpgpu-sim/shader.h b/src/gpgpu-sim/shader.h
index 437506c..3542120 100644
--- a/src/gpgpu-sim/shader.h
+++ b/src/gpgpu-sim/shader.h
@@ -1360,7 +1360,7 @@ struct shader_core_config : public core_config
max_sp_latency = 32;
max_tensor_core_latency = 64;
- gpgpu_num_tensor_core_units=8;
+ gpgpu_num_tensor_core_units=4;//It will be (#TENSORCORE INSIDE SM)/2 (One warp is allocated to 2 Tensor Core)
gpgpu_operand_collector_num_units_tensor_core=24;
gpgpu_operand_collector_num_in_ports_tensor_core=8;
gpgpu_operand_collector_num_out_ports_tensor_core=8;