P4 to Git Change 1144775 by yaxunl@yaxunl_stg_win50 on 2015/04/27 12:11:07
ECR #304775 - Wave limiter: Fix crash in CompuBenchCL video composition due to profiling data not collected correctly. Gpuvirtual.cpp only collects profiling data when all events have profiling enabled. Fixed it by adding a member to indicate at least one event has profiling enabled and collect profiling data. Improved adptation by changing waves/simd only when the last change has been enforced. Also detecting discontinuities in measured data and discard them. Affected files ... ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#359 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.hpp#129 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuwavelimiter.cpp#3 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuwavelimiter.hpp#2 edit ... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#230 edit
This commit is contained in:
1 parent
f71848412d
commit
b5a5c65e53
5 files changed
+75
-28
No files matched your search
@@ -403,6 +403,7 @@ VirtualGPU::VirtualGPU(
|
||||
, schedParamIdx_(0)
|
||||
, deviceQueueSize_(0)
|
||||
, hsaQueueMem_(NULL)
|
||||
, profileEnabled_(false)
|
||||
{
|
||||
memset(&cal_, 0, sizeof(CalVirtualDesc));
|
||||
for (uint i = 0; i < AllEngines; ++i) {
|
||||
@@ -2804,7 +2805,7 @@ VirtualGPU::awaitCompletion(CommandBatch* cb, const amd::Event* waitingEvent)
|
||||
amd::Command* head = cb->head_;
|
||||
|
||||
// Make sure that profiling is enabled
|
||||
if (head->profilingInfo().enabled_) {
|
||||
if (profileEnabled_) {
|
||||
return profilingCollectResults(cb, waitingEvent);
|
||||
}
|
||||
// Mark the first command in the batch as running
|
||||
@@ -3250,6 +3251,7 @@ VirtualGPU::profilingBegin(amd::Command& command, bool drmProfiling)
|
||||
// Save the TimeStamp object in the current OCL event
|
||||
command.setData(ts);
|
||||
currTs_ = ts;
|
||||
profileEnabled_ = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user