P4 to Git Change 1136853 by yaxunl@yaxunl_stg_win50 on 2015/04/01 19:36:09
ECR #304775 - Implement profile driven wave limiter Part 2/2: OCL changes. Profile driven wave limiter measures kernel execution time in real time and adaptively limits the number of waves per SH. This is to mitigate cache thrashing issues. Affected files ... ... //depot/stg/opencl/drivers/opencl/compiler/llvm32/include/llvm/Transforms/IPO/AMDKernelPerfHint.h#2 edit ... //depot/stg/opencl/drivers/opencl/compiler/llvm32/lib/Target/AMDIL/AMDILKernelManager.cpp#2 edit ... //depot/stg/opencl/drivers/opencl/compiler/llvm32/lib/Transforms/IPO/AMDKernelPerfHint.cpp#2 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#244 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#281 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.hpp#108 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuwavelimiter.cpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuwavelimiter.hpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/include/cal/cal.h#35 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.cpp#71 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.h#44 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#114 edit ... //depot/stg/opencl/drivers/opencl/runtime/platform/command.cpp#68 edit ... //depot/stg/opencl/drivers/opencl/runtime/platform/command.hpp#74 edit ... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#228 edit
This commit is contained in:
@@ -89,10 +89,8 @@ protected:
|
||||
ProfilingInfo(bool enabled = false) : enabled_(enabled)
|
||||
{
|
||||
if (enabled) {
|
||||
queued_ = 0ULL;
|
||||
submitted_ = 0ULL;
|
||||
start_ = 0ULL;
|
||||
end_ = 0ULL;
|
||||
clear();
|
||||
callback_ = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,7 +98,22 @@ protected:
|
||||
uint64_t submitted_;
|
||||
uint64_t start_;
|
||||
uint64_t end_;
|
||||
const bool enabled_;
|
||||
bool enabled_;
|
||||
ProfilingCallback *callback_;
|
||||
void clear() {
|
||||
queued_ = 0ULL;
|
||||
submitted_ = 0ULL;
|
||||
start_ = 0ULL;
|
||||
end_ = 0ULL;
|
||||
}
|
||||
void setCallback(ProfilingCallback *callback) {
|
||||
if (callback == NULL) {
|
||||
return;
|
||||
}
|
||||
enabled_ = true;
|
||||
clear();
|
||||
callback_ = callback;
|
||||
}
|
||||
|
||||
} profilingInfo_;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user