mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 14:55:24 +08:00
Revert "Limit cooperative dispatch support to platforms supporting cooperativ...
This reverts commit c124bfbc6c.
Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
afd0784c16
commit
1894d2da5b
@@ -1433,88 +1433,3 @@ TEST(GfxCoreHelperTests, whenIsDynamicallyPopulatedisTrueThengetHighestEnabledSl
|
||||
auto maxSlice = gfxCoreHelper.getHighestEnabledSlice(hwInfo);
|
||||
EXPECT_EQ(maxSlice, 7u);
|
||||
}
|
||||
|
||||
HWTEST2_F(GfxCoreHelperTest, WhenIsRcsAvailableIsCalledThenTrueIsReturned, IsAtMostXeHpgCore) {
|
||||
auto &gfxCoreHelper = GfxCoreHelper::get(defaultHwInfo->platform.eRenderCoreFamily);
|
||||
EXPECT_TRUE(gfxCoreHelper.isRcsAvailable(*defaultHwInfo));
|
||||
}
|
||||
|
||||
using GfxCoreHelperAdjustMaxWorkGroupCountTests = ::testing::Test;
|
||||
|
||||
HWTEST_F(GfxCoreHelperAdjustMaxWorkGroupCountTests, GivenCooperativeEngineSupportedAndNotUsedWhenAdjustMaxWorkGroupCountIsCalledThenSmallerValueIsReturned) {
|
||||
auto hwInfo = *defaultHwInfo;
|
||||
auto &gfxCoreHelper = NEO::GfxCoreHelper::get(hwInfo.platform.eRenderCoreFamily);
|
||||
auto &productHelper = *NEO::ProductHelper::get(hwInfo.platform.eProductFamily);
|
||||
|
||||
hwInfo.capabilityTable.defaultEngineType = aub_stream::EngineType::ENGINE_CCS;
|
||||
hwInfo.featureTable.flags.ftrRcsNode = false;
|
||||
|
||||
uint32_t revisions[] = {REVISION_A0, REVISION_B};
|
||||
for (auto &revision : revisions) {
|
||||
auto hwRevId = productHelper.getHwRevIdFromStepping(revision, hwInfo);
|
||||
if (hwRevId == CommonConstants::invalidStepping) {
|
||||
continue;
|
||||
}
|
||||
hwInfo.platform.usRevId = hwRevId;
|
||||
|
||||
for (auto isEngineInstanced : ::testing::Bool()) {
|
||||
for (auto isRcsEnabled : ::testing::Bool()) {
|
||||
hwInfo.featureTable.flags.ftrRcsNode = isRcsEnabled;
|
||||
for (auto engineGroupType : {EngineGroupType::RenderCompute, EngineGroupType::Compute, EngineGroupType::CooperativeCompute}) {
|
||||
if (productHelper.isCooperativeEngineSupported(hwInfo)) {
|
||||
bool disallowDispatch = (engineGroupType == EngineGroupType::RenderCompute) ||
|
||||
((engineGroupType == EngineGroupType::Compute) && isRcsEnabled);
|
||||
bool applyLimitation = !isEngineInstanced &&
|
||||
(engineGroupType != EngineGroupType::CooperativeCompute);
|
||||
if (disallowDispatch) {
|
||||
EXPECT_EQ(1u, gfxCoreHelper.adjustMaxWorkGroupCount(4u, engineGroupType, hwInfo, isEngineInstanced));
|
||||
EXPECT_EQ(1u, gfxCoreHelper.adjustMaxWorkGroupCount(1024u, engineGroupType, hwInfo, isEngineInstanced));
|
||||
} else if (applyLimitation) {
|
||||
hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled = 4;
|
||||
EXPECT_EQ(1u, gfxCoreHelper.adjustMaxWorkGroupCount(4u, engineGroupType, hwInfo, isEngineInstanced));
|
||||
EXPECT_EQ(256u, gfxCoreHelper.adjustMaxWorkGroupCount(1024u, engineGroupType, hwInfo, isEngineInstanced));
|
||||
hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled = 2;
|
||||
EXPECT_EQ(2u, gfxCoreHelper.adjustMaxWorkGroupCount(4u, engineGroupType, hwInfo, isEngineInstanced));
|
||||
EXPECT_EQ(512u, gfxCoreHelper.adjustMaxWorkGroupCount(1024u, engineGroupType, hwInfo, isEngineInstanced));
|
||||
} else {
|
||||
EXPECT_EQ(4u, gfxCoreHelper.adjustMaxWorkGroupCount(4u, engineGroupType, hwInfo, isEngineInstanced));
|
||||
EXPECT_EQ(1024u, gfxCoreHelper.adjustMaxWorkGroupCount(1024u, engineGroupType, hwInfo, isEngineInstanced));
|
||||
}
|
||||
} else {
|
||||
EXPECT_EQ(1u, gfxCoreHelper.adjustMaxWorkGroupCount(4u, engineGroupType, hwInfo, isEngineInstanced));
|
||||
EXPECT_EQ(1u, gfxCoreHelper.adjustMaxWorkGroupCount(1024u, engineGroupType, hwInfo, isEngineInstanced));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
template <typename FamilyType>
|
||||
struct MockGfxCoreHelper : GfxCoreHelperHw<FamilyType> {
|
||||
bool isCooperativeDispatchSupported(const EngineGroupType engineGroupType, const HardwareInfo &hwInfo) const override {
|
||||
return isCooperativeDispatchSupportedValue;
|
||||
}
|
||||
bool isCooperativeDispatchSupportedValue = true;
|
||||
};
|
||||
HWTEST_F(GfxCoreHelperAdjustMaxWorkGroupCountTests, GivenDebugTogglesInfluencingMaxWorkGroupCountSetWhenAdjustMaxWorkGroupCountIsCalledThenDontChangeResult) {
|
||||
MockGfxCoreHelper<FamilyType> gfxCoreHelper{};
|
||||
auto hwInfo = *defaultHwInfo;
|
||||
hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled = 2;
|
||||
|
||||
for (auto isCooperativeDispatchSupported : ::testing::Bool()) {
|
||||
gfxCoreHelper.isCooperativeDispatchSupportedValue = isCooperativeDispatchSupported;
|
||||
{
|
||||
DebugManagerStateRestore dbgRestorer;
|
||||
DebugManager.flags.OverrideMaxWorkGroupCount.set(1);
|
||||
EXPECT_EQ(4u, gfxCoreHelper.adjustMaxWorkGroupCount(4u, EngineGroupType::RenderCompute, hwInfo, false));
|
||||
EXPECT_EQ(1024u, gfxCoreHelper.adjustMaxWorkGroupCount(1024u, EngineGroupType::RenderCompute, hwInfo, false));
|
||||
}
|
||||
{
|
||||
DebugManagerStateRestore dbgRestorer;
|
||||
DebugManager.flags.ForceTheoreticalMaxWorkGroupCount.set(true);
|
||||
EXPECT_EQ(4u, gfxCoreHelper.adjustMaxWorkGroupCount(4u, EngineGroupType::RenderCompute, hwInfo, false));
|
||||
EXPECT_EQ(1024u, gfxCoreHelper.adjustMaxWorkGroupCount(1024u, EngineGroupType::RenderCompute, hwInfo, false));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -160,7 +160,7 @@ HWTEST2_F(GfxCoreHelperTestPvcAndLater, WhenIsCooperativeDispatchSupportedThenCo
|
||||
EXPECT_TRUE(isCooperativeDispatchSupported);
|
||||
}
|
||||
} else {
|
||||
EXPECT_FALSE(isCooperativeDispatchSupported);
|
||||
EXPECT_TRUE(isCooperativeDispatchSupported);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -149,7 +149,7 @@ PVCTEST_F(EngineNodeHelperPvcTests, givenCccsDisabledWhenGetGpgpuEnginesCalledTh
|
||||
EXPECT_EQ(aub_stream::ENGINE_BCS, engines[7].first);
|
||||
}
|
||||
|
||||
PVCTEST_F(EngineNodeHelperPvcTests, givenCCSEngineWhenCallingIsCooperativeDispatchSupportedThenFalseIsReturned) {
|
||||
PVCTEST_F(EngineNodeHelperPvcTests, givenCCSEngineWhenCallingIsCooperativeDispatchSupportedThenTrueIsReturned) {
|
||||
const auto &gfxCoreHelper = GfxCoreHelper::get(renderCoreFamily);
|
||||
auto hwInfo = *defaultHwInfo;
|
||||
hwInfo.capabilityTable.defaultEngineType = aub_stream::ENGINE_CCS;
|
||||
@@ -157,7 +157,7 @@ PVCTEST_F(EngineNodeHelperPvcTests, givenCCSEngineWhenCallingIsCooperativeDispat
|
||||
auto engineGroupType = gfxCoreHelper.getEngineGroupType(pDevice->getDefaultEngine().getEngineType(),
|
||||
pDevice->getDefaultEngine().getEngineUsage(), hwInfo);
|
||||
auto retVal = gfxCoreHelper.isCooperativeDispatchSupported(engineGroupType, hwInfo);
|
||||
EXPECT_FALSE(retVal);
|
||||
EXPECT_TRUE(retVal);
|
||||
}
|
||||
|
||||
PVCTEST_F(EngineNodeHelperPvcTests, givenCCCSEngineAndRevisionBWhenCallingIsCooperativeDispatchSupportedThenFalseIsReturned) {
|
||||
@@ -169,7 +169,7 @@ PVCTEST_F(EngineNodeHelperPvcTests, givenCCCSEngineAndRevisionBWhenCallingIsCoop
|
||||
auto engineGroupType = gfxCoreHelper.getEngineGroupType(pDevice->getDefaultEngine().getEngineType(),
|
||||
pDevice->getDefaultEngine().getEngineUsage(), hwInfo);
|
||||
auto retVal = gfxCoreHelper.isCooperativeDispatchSupported(engineGroupType, hwInfo);
|
||||
EXPECT_FALSE(retVal);
|
||||
EXPECT_TRUE(retVal);
|
||||
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_B, hwInfo);
|
||||
retVal = gfxCoreHelper.isCooperativeDispatchSupported(engineGroupType, hwInfo);
|
||||
|
||||
Reference in New Issue
Block a user