wavefront.cc (11308:7d8836fd043d) wavefront.cc (11345:b6a66a90e0a1)
1/*
2 * Copyright (c) 2011-2015 Advanced Micro Devices, Inc.
3 * All rights reserved.
4 *
5 * For use for simulation and test purposes only
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:

--- 148 unchanged lines hidden (view full) ---

157{
158 if (IS_OT_READ_PM(ii->opType()) || IS_OT_WRITE_PM(ii->opType()) ||
159 IS_OT_ATOMIC_PM(ii->opType())) {
160 return true;
161 }
162
163 if (IS_OT_READ_GM(ii->opType()) || IS_OT_WRITE_GM(ii->opType()) ||
164 IS_OT_ATOMIC_GM(ii->opType())) {
1/*
2 * Copyright (c) 2011-2015 Advanced Micro Devices, Inc.
3 * All rights reserved.
4 *
5 * For use for simulation and test purposes only
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:

--- 148 unchanged lines hidden (view full) ---

157{
158 if (IS_OT_READ_PM(ii->opType()) || IS_OT_WRITE_PM(ii->opType()) ||
159 IS_OT_ATOMIC_PM(ii->opType())) {
160 return true;
161 }
162
163 if (IS_OT_READ_GM(ii->opType()) || IS_OT_WRITE_GM(ii->opType()) ||
164 IS_OT_ATOMIC_GM(ii->opType())) {
165
166 return true;
167 }
168
169 if (IS_OT_FLAT(ii->opType())) {
170 return true;
171 }
172
173 return false;

--- 170 unchanged lines hidden (view full) ---

344 if (computeUnit->vrfToGlobalMemPipeBus[j].prerdy())
345 glbMemBusRdy = true;
346 if (computeUnit->wfWait[j].prerdy())
347 glbMemIssueRdy = true;
348 }
349 }
350 bool locMemBusRdy = false;
351 bool locMemIssueRdy = false;
165 return true;
166 }
167
168 if (IS_OT_FLAT(ii->opType())) {
169 return true;
170 }
171
172 return false;

--- 170 unchanged lines hidden (view full) ---

343 if (computeUnit->vrfToGlobalMemPipeBus[j].prerdy())
344 glbMemBusRdy = true;
345 if (computeUnit->wfWait[j].prerdy())
346 glbMemIssueRdy = true;
347 }
348 }
349 bool locMemBusRdy = false;
350 bool locMemIssueRdy = false;
352 if (type == I_SHARED) {
351 if (type == I_SHARED || type == I_FLAT) {
353 for (int j=0; j < computeUnit->numLocMemUnits; ++j) {
354 if (computeUnit->vrfToLocalMemPipeBus[j].prerdy())
355 locMemBusRdy = true;
356 if (computeUnit->wfWait[j].prerdy())
357 locMemIssueRdy = true;
358 }
359 }
360

--- 232 unchanged lines hidden (view full) ---

593 } else {
594 return 0;
595 }
596
597 assert(ready_inst);
598
599 DPRINTF(GPUExec, "CU%d: WF[%d][%d]: Ready Inst : %s\n", computeUnit->cu_id,
600 simdId, wfSlotId, ii->disassemble());
352 for (int j=0; j < computeUnit->numLocMemUnits; ++j) {
353 if (computeUnit->vrfToLocalMemPipeBus[j].prerdy())
354 locMemBusRdy = true;
355 if (computeUnit->wfWait[j].prerdy())
356 locMemIssueRdy = true;
357 }
358 }
359

--- 232 unchanged lines hidden (view full) ---

592 } else {
593 return 0;
594 }
595
596 assert(ready_inst);
597
598 DPRINTF(GPUExec, "CU%d: WF[%d][%d]: Ready Inst : %s\n", computeUnit->cu_id,
599 simdId, wfSlotId, ii->disassemble());
601
602 return 1;
603}
604
605void
606Wavefront::updateResources()
607{
608 // Get current instruction
609 GPUDynInstPtr ii = instructionBuffer.front();

--- 316 unchanged lines hidden ---
600 return 1;
601}
602
603void
604Wavefront::updateResources()
605{
606 // Get current instruction
607 GPUDynInstPtr ii = instructionBuffer.front();

--- 316 unchanged lines hidden ---