P4 to Git Change 1482914 by wchau@wchau_OCL_boltzmann on 2017/11/15 16:12:45
SWDEV-137374 - Collecting counters from some TCC, TCP and TA block instances causes kernel to hang
- fixed by using the new AQLProfile feature to obtain precise size for command/data buffers
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/roccounters.cpp#2 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.cpp#46 edit
[ROCm/clr commit: 0e9cee7205]
This commit is contained in:
@@ -1984,7 +1984,11 @@ void VirtualGPU::submitPerfCounter(amd::PerfCounterCommand& vcmd) {
|
||||
}
|
||||
|
||||
// create the AQL packet for start profiling
|
||||
profileRef->createStartPacket();
|
||||
if (profileRef->createStartPacket() == nullptr) {
|
||||
LogError("Failed to create AQL packet for start profiling");
|
||||
vcmd.setStatus(CL_INVALID_OPERATION);
|
||||
}
|
||||
|
||||
dispatchCounterAqlPacket(profileRef->prePacket(), counter->gfxVersion(), false,
|
||||
profileRef->api());
|
||||
|
||||
@@ -1997,7 +2001,10 @@ void VirtualGPU::submitPerfCounter(amd::PerfCounterCommand& vcmd) {
|
||||
PerfCounterProfile* profileRef = counter->profileRef();
|
||||
|
||||
// create the AQL packet for stop profiling
|
||||
profileRef->createStopPacket();
|
||||
if (profileRef->createStopPacket() == nullptr) {
|
||||
LogError("Failed to create AQL packet for stop profiling");
|
||||
vcmd.setStatus(CL_INVALID_OPERATION);
|
||||
}
|
||||
dispatchCounterAqlPacket(profileRef->postPacket(), counter->gfxVersion(), true,
|
||||
profileRef->api());
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user