mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-05 09:09:04 +08:00
Disable EU fusion based on kernel properties from compiler
Related-To: NEO-6633 Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
13bc2300e1
commit
cf1bc3a2ba
@@ -107,9 +107,9 @@ WorkSizeInfo createWorkSizeInfoFromDispatchInfo(const DispatchInfo &dispatchInfo
|
||||
numThreadsPerSubSlice,
|
||||
static_cast<uint32_t>(device.getSharedDeviceInfo().localMemSize),
|
||||
false,
|
||||
false);
|
||||
false,
|
||||
kernelInfo.kernelDescriptor.kernelAttributes.flags.requiresDisabledEUFusion);
|
||||
wsInfo.setIfUseImg(kernelInfo);
|
||||
wsInfo.setMinWorkGroupSize(&device.getHardwareInfo());
|
||||
|
||||
return wsInfo;
|
||||
}
|
||||
|
||||
@@ -772,6 +772,8 @@ CompletionStamp CommandQueueHw<GfxFamily>::enqueueNonBlocked(
|
||||
dispatchFlags.pipelineSelectArgs.mediaSamplerRequired = mediaSamplerRequired;
|
||||
dispatchFlags.pipelineSelectArgs.specialPipelineSelectMode = specialPipelineSelectMode;
|
||||
|
||||
dispatchFlags.disableEUFusion = kernel->getKernelInfo().kernelDescriptor.kernelAttributes.flags.requiresDisabledEUFusion;
|
||||
|
||||
const bool isHandlingBarrier = getGpgpuCommandStreamReceiver().isStallingCommandsOnNextFlushRequired();
|
||||
|
||||
if (getGpgpuCommandStreamReceiver().peekTimestampPacketWriteEnabled() && !clearDependenciesForSubCapture) {
|
||||
|
||||
@@ -564,7 +564,7 @@ cl_int Kernel::getWorkGroupInfo(cl_kernel_work_group_info paramName,
|
||||
|
||||
case CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE:
|
||||
preferredWorkGroupSizeMultiple = kernelInfo.getMaxSimdSize();
|
||||
if (hwHelper.isFusedEuDispatchEnabled(hwInfo)) {
|
||||
if (hwHelper.isFusedEuDispatchEnabled(hwInfo) && !kernelDescriptor.kernelAttributes.flags.requiresDisabledEUFusion) {
|
||||
preferredWorkGroupSizeMultiple *= 2;
|
||||
}
|
||||
srcSize = sizeof(preferredWorkGroupSizeMultiple);
|
||||
|
||||
Reference in New Issue
Block a user