P4 to Git Change 1239340 by rili@rili-opencl-stg on 2016/02/22 16:50:49
SWDEV-84552 - Flush HSAIL kernel execution if workload is too big.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#395 edit
[ROCm/clr commit: 01f19b6043]
This commit is contained in:
@@ -1731,6 +1731,12 @@ VirtualGPU::submitKernelInternalHSA(
|
||||
dbgManager->allocParamMemList(numParams);
|
||||
}
|
||||
|
||||
bool needFlush = false;
|
||||
dmaFlushMgmt_.findSplitSize(dev(), sizes.global().product(), hsaKernel.aqlCodeSize());
|
||||
if (dmaFlushMgmt().dispatchSplitSize() != 0) {
|
||||
needFlush = true;
|
||||
}
|
||||
|
||||
size_t newOffset[3] = {0, 0, 0};
|
||||
size_t newGlobalSize[3] = {0, 0, 0};
|
||||
|
||||
@@ -2008,7 +2014,7 @@ VirtualGPU::submitKernelInternalHSA(
|
||||
}
|
||||
|
||||
// Update the global GPU event
|
||||
setGpuEvent(gpuEvent);
|
||||
setGpuEvent(gpuEvent, needFlush);
|
||||
|
||||
if (!printfDbgHSA().output(*this, printfEnabled, hsaKernel.printfInfo())) {
|
||||
LogError("Couldn't read printf data from the buffer!\n");
|
||||
|
||||
Reference in New Issue
Block a user