fix: Use round robin after stall as a default arbitration mode
Related-To: NEO-14251,HSD-18042035684,HSD-18041638491,HSD-18042040816 Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
This commit is contained in:
parent
cdb088b477
commit
3989471ffc
|
@ -5408,7 +5408,7 @@ typedef struct tagINTERFACE_DESCRIPTOR_DATA {
|
||||||
} PREFERRED_SLM_ALLOCATION_SIZE;
|
} PREFERRED_SLM_ALLOCATION_SIZE;
|
||||||
inline void init() {
|
inline void init() {
|
||||||
memset(&TheStructure, 0, sizeof(TheStructure));
|
memset(&TheStructure, 0, sizeof(TheStructure));
|
||||||
TheStructure.Common.EuThreadSchedulingModeOverride = EU_THREAD_SCHEDULING_MODE_OVERRIDE_HW_DEFAULT;
|
TheStructure.Common.EuThreadSchedulingModeOverride = EU_THREAD_SCHEDULING_MODE_OVERRIDE_STALL_BASED_ROUND_ROBIN; // patched
|
||||||
TheStructure.Common.FloatingPointMode = FLOATING_POINT_MODE_IEEE_754;
|
TheStructure.Common.FloatingPointMode = FLOATING_POINT_MODE_IEEE_754;
|
||||||
TheStructure.Common.SingleProgramFlow = SINGLE_PROGRAM_FLOW_MULTIPLE;
|
TheStructure.Common.SingleProgramFlow = SINGLE_PROGRAM_FLOW_MULTIPLE;
|
||||||
TheStructure.Common.DenormMode = DENORM_MODE_FTZ;
|
TheStructure.Common.DenormMode = DENORM_MODE_FTZ;
|
||||||
|
|
|
@ -153,7 +153,7 @@ void EncodeDispatchKernel<Family>::encodeEuSchedulingPolicy(InterfaceDescriptorT
|
||||||
pInterfaceDescriptor->setEuThreadSchedulingModeOverride(INTERFACE_DESCRIPTOR_DATA::EU_THREAD_SCHEDULING_MODE_OVERRIDE::EU_THREAD_SCHEDULING_MODE_OVERRIDE_STALL_BASED_ROUND_ROBIN);
|
pInterfaceDescriptor->setEuThreadSchedulingModeOverride(INTERFACE_DESCRIPTOR_DATA::EU_THREAD_SCHEDULING_MODE_OVERRIDE::EU_THREAD_SCHEDULING_MODE_OVERRIDE_STALL_BASED_ROUND_ROBIN);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
pInterfaceDescriptor->setEuThreadSchedulingModeOverride(INTERFACE_DESCRIPTOR_DATA::EU_THREAD_SCHEDULING_MODE_OVERRIDE::EU_THREAD_SCHEDULING_MODE_OVERRIDE_HW_DEFAULT);
|
pInterfaceDescriptor->setEuThreadSchedulingModeOverride(INTERFACE_DESCRIPTOR_DATA::EU_THREAD_SCHEDULING_MODE_OVERRIDE::EU_THREAD_SCHEDULING_MODE_OVERRIDE_STALL_BASED_ROUND_ROBIN);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -206,7 +206,7 @@ XE3_CORETEST_F(Xe3CoreCommandEncoderTest, givenPipelinedEuThreadArbitrationPolic
|
||||||
{
|
{
|
||||||
kernelDescriptor.kernelAttributes.threadArbitrationPolicy = ThreadArbitrationPolicy::NotPresent;
|
kernelDescriptor.kernelAttributes.threadArbitrationPolicy = ThreadArbitrationPolicy::NotPresent;
|
||||||
EncodeDispatchKernel<FamilyType>::encodeEuSchedulingPolicy(&idd, kernelDescriptor, defaultPipelinedThreadArbitrationPolicy);
|
EncodeDispatchKernel<FamilyType>::encodeEuSchedulingPolicy(&idd, kernelDescriptor, defaultPipelinedThreadArbitrationPolicy);
|
||||||
EXPECT_EQ(INTERFACE_DESCRIPTOR_DATA::EU_THREAD_SCHEDULING_MODE_OVERRIDE::EU_THREAD_SCHEDULING_MODE_OVERRIDE_HW_DEFAULT, idd.getEuThreadSchedulingModeOverride());
|
EXPECT_EQ(INTERFACE_DESCRIPTOR_DATA::EU_THREAD_SCHEDULING_MODE_OVERRIDE::EU_THREAD_SCHEDULING_MODE_OVERRIDE_STALL_BASED_ROUND_ROBIN, idd.getEuThreadSchedulingModeOverride());
|
||||||
}
|
}
|
||||||
|
|
||||||
defaultPipelinedThreadArbitrationPolicy = ThreadArbitrationPolicy::RoundRobin;
|
defaultPipelinedThreadArbitrationPolicy = ThreadArbitrationPolicy::RoundRobin;
|
||||||
|
|
Loading…
Reference in New Issue