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 --- |