main.cc (11639:2e8d4bd8108d) | main.cc (11692:e772fdcd3809) |
---|---|
1/* 2 * Copyright (c) 2012-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: --- 165 unchanged lines hidden (view full) --- 174 w->reservedVectorRegs = 0; 175 w->startVgprIndex = 0; 176 w->computeUnit->completedWfs++; 177 178 DPRINTF(GPUExec, "Doing return for CU%d: WF[%d][%d][%d]\n", 179 w->computeUnit->cu_id, w->simdId, w->wfSlotId, w->wfDynId); 180 181 if (!refCount) { | 1/* 2 * Copyright (c) 2012-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: --- 165 unchanged lines hidden (view full) --- 174 w->reservedVectorRegs = 0; 175 w->startVgprIndex = 0; 176 w->computeUnit->completedWfs++; 177 178 DPRINTF(GPUExec, "Doing return for CU%d: WF[%d][%d][%d]\n", 179 w->computeUnit->cu_id, w->simdId, w->wfSlotId, w->wfDynId); 180 181 if (!refCount) { |
182 setFlag(SystemScope); 183 setFlag(Release); 184 setFlag(GlobalSegment); |
|
182 // Notify Memory System of Kernel Completion 183 // Kernel End = isKernel + isRelease 184 w->status = Wavefront::S_RETURNING; 185 GPUDynInstPtr local_mempacket = gpuDynInst; | 185 // Notify Memory System of Kernel Completion 186 // Kernel End = isKernel + isRelease 187 w->status = Wavefront::S_RETURNING; 188 GPUDynInstPtr local_mempacket = gpuDynInst; |
186 local_mempacket->memoryOrder = Enums::MEMORY_ORDER_SC_RELEASE; 187 local_mempacket->scope = Enums::MEMORY_SCOPE_SYSTEM; | |
188 local_mempacket->useContinuation = false; 189 local_mempacket->simdId = w->simdId; 190 local_mempacket->wfSlotId = w->wfSlotId; 191 local_mempacket->wfDynId = w->wfDynId; 192 w->computeUnit->injectGlobalMemFence(local_mempacket, true); 193 } else { 194 w->computeUnit->shader->dispatcher->scheduleDispatch(); 195 } --- 13 unchanged lines hidden --- | 189 local_mempacket->useContinuation = false; 190 local_mempacket->simdId = w->simdId; 191 local_mempacket->wfSlotId = w->wfSlotId; 192 local_mempacket->wfDynId = w->wfDynId; 193 w->computeUnit->injectGlobalMemFence(local_mempacket, true); 194 } else { 195 w->computeUnit->shader->dispatcher->scheduleDispatch(); 196 } --- 13 unchanged lines hidden --- |