mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Disable round robin engine assign on PVC
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
This commit is contained in:

committed by
Compute-Runtime-Automation

parent
5f985a012a
commit
f98c6b1a8b
@ -137,7 +137,7 @@ void CommandQueue::initializeGpgpu() const {
|
||||
!this->isSpecialCommandQueue &&
|
||||
!this->queueFamilySelected &&
|
||||
!(getCmdQueueProperties<cl_queue_priority_khr>(propertiesVector.data(), CL_QUEUE_PRIORITY_KHR) & static_cast<cl_queue_priority_khr>(CL_QUEUE_PRIORITY_LOW_KHR)) &&
|
||||
hwHelper.isAssignEngineRoundRobinSupported() &&
|
||||
hwHelper.isAssignEngineRoundRobinSupported(hwInfo) &&
|
||||
this->isAssignEngineRoundRobinEnabled();
|
||||
|
||||
if (assignEngineRoundRobin) {
|
||||
|
@ -994,7 +994,7 @@ HWTEST_F(EngineInstancedDeviceTests, whenCreateMultipleCommandQueuesThenEnginesA
|
||||
auto &hwInfo = rootDevice->getHardwareInfo();
|
||||
const auto &hwHelper = NEO::HwHelper::get(hwInfo.platform.eRenderCoreFamily);
|
||||
|
||||
if (!hwHelper.isAssignEngineRoundRobinSupported()) {
|
||||
if (!hwHelper.isAssignEngineRoundRobinSupported(hwInfo)) {
|
||||
GTEST_SKIP();
|
||||
}
|
||||
|
||||
@ -1040,7 +1040,7 @@ HWTEST_F(EngineInstancedDeviceTests, givenCmdQRoundRobindEngineAssignBitfieldwWe
|
||||
auto &hwInfo = rootDevice->getHardwareInfo();
|
||||
const auto &hwHelper = NEO::HwHelper::get(hwInfo.platform.eRenderCoreFamily);
|
||||
|
||||
if (!hwHelper.isAssignEngineRoundRobinSupported()) {
|
||||
if (!hwHelper.isAssignEngineRoundRobinSupported(hwInfo)) {
|
||||
GTEST_SKIP();
|
||||
}
|
||||
|
||||
@ -1089,7 +1089,7 @@ HWTEST_F(EngineInstancedDeviceTests, givenCmdQRoundRobindEngineAssignNTo1wWenCre
|
||||
auto &hwInfo = rootDevice->getHardwareInfo();
|
||||
const auto &hwHelper = NEO::HwHelper::get(hwInfo.platform.eRenderCoreFamily);
|
||||
|
||||
if (!hwHelper.isAssignEngineRoundRobinSupported()) {
|
||||
if (!hwHelper.isAssignEngineRoundRobinSupported(hwInfo)) {
|
||||
GTEST_SKIP();
|
||||
}
|
||||
|
||||
@ -1136,7 +1136,7 @@ HWTEST_F(EngineInstancedDeviceTests, givenCmdQRoundRobindEngineAssignNTo1AndCmdQ
|
||||
auto &hwInfo = rootDevice->getHardwareInfo();
|
||||
const auto &hwHelper = NEO::HwHelper::get(hwInfo.platform.eRenderCoreFamily);
|
||||
|
||||
if (!hwHelper.isAssignEngineRoundRobinSupported()) {
|
||||
if (!hwHelper.isAssignEngineRoundRobinSupported(hwInfo)) {
|
||||
GTEST_SKIP();
|
||||
}
|
||||
|
||||
@ -1184,7 +1184,7 @@ HWTEST_F(EngineInstancedDeviceTests, givenEnableCmdQRoundRobindEngineAssignDisab
|
||||
auto &hwInfo = rootDevice->getHardwareInfo();
|
||||
const auto &hwHelper = NEO::HwHelper::get(hwInfo.platform.eRenderCoreFamily);
|
||||
|
||||
if (!hwHelper.isAssignEngineRoundRobinSupported()) {
|
||||
if (!hwHelper.isAssignEngineRoundRobinSupported(hwInfo)) {
|
||||
GTEST_SKIP();
|
||||
}
|
||||
|
||||
|
@ -191,7 +191,7 @@ XE_HP_CORE_TEST_F(HwHelperTestXE_HP_CORE, givenDisablePipeControlFlagIsEnabledWh
|
||||
|
||||
XE_HP_CORE_TEST_F(HwHelperTestXE_HP_CORE, givenXeHPAndLaterPlatformWhenCheckAssignEngineRoundRobinSupportedThenReturnFalse) {
|
||||
auto &hwHelper = HwHelperHw<FamilyType>::get();
|
||||
EXPECT_FALSE(hwHelper.isAssignEngineRoundRobinSupported());
|
||||
EXPECT_FALSE(hwHelper.isAssignEngineRoundRobinSupported(*defaultHwInfo));
|
||||
}
|
||||
|
||||
using HwInfoConfigTestXE_HP_CORE = ::testing::Test;
|
||||
|
@ -109,7 +109,7 @@ class HwHelper {
|
||||
virtual bool useOnlyGlobalTimestamps() const = 0;
|
||||
virtual bool useSystemMemoryPlacementForISA(const HardwareInfo &hwInfo) const = 0;
|
||||
virtual bool packedFormatsSupported() const = 0;
|
||||
virtual bool isAssignEngineRoundRobinSupported() const = 0;
|
||||
virtual bool isAssignEngineRoundRobinSupported(const HardwareInfo &hwInfo) const = 0;
|
||||
virtual bool isRcsAvailable(const HardwareInfo &hwInfo) const = 0;
|
||||
virtual bool isCooperativeDispatchSupported(const EngineGroupType engineGroupType, const HardwareInfo &hwInfo) const = 0;
|
||||
virtual uint32_t adjustMaxWorkGroupCount(uint32_t maxWorkGroupCount, const EngineGroupType engineGroupType,
|
||||
@ -374,7 +374,7 @@ class HwHelperHw : public HwHelper {
|
||||
|
||||
bool unTypedDataPortCacheFlushRequired() const override;
|
||||
|
||||
bool isAssignEngineRoundRobinSupported() const override;
|
||||
bool isAssignEngineRoundRobinSupported(const HardwareInfo &hwInfo) const override;
|
||||
|
||||
bool isEngineTypeRemappingToHwSpecificRequired() const override;
|
||||
|
||||
|
@ -56,7 +56,7 @@ bool HwHelperHw<GfxFamily>::isUpdateTaskCountFromWaitSupported() const {
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
bool HwHelperHw<GfxFamily>::isAssignEngineRoundRobinSupported() const {
|
||||
bool HwHelperHw<GfxFamily>::isAssignEngineRoundRobinSupported(const HardwareInfo &hwInfo) const {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -152,7 +152,7 @@ uint32_t HwHelperHw<GfxFamily>::getPlanarYuvMaxHeight() const {
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
bool HwHelperHw<GfxFamily>::isAssignEngineRoundRobinSupported() const {
|
||||
bool HwHelperHw<GfxFamily>::isAssignEngineRoundRobinSupported(const HardwareInfo &hwInfo) const {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -119,6 +119,7 @@ class HwInfoConfig {
|
||||
virtual bool isImplicitScalingSupported(const HardwareInfo &hwInfo) const = 0;
|
||||
virtual bool isCpuCopyNecessary(const void *ptr, MemoryManager *memoryManager) const = 0;
|
||||
virtual bool isAdjustWalkOrderAvailable(const HardwareInfo &hwInfo) const = 0;
|
||||
virtual bool isAssignEngineRoundRobinSupported() const = 0;
|
||||
|
||||
MOCKABLE_VIRTUAL ~HwInfoConfig() = default;
|
||||
|
||||
@ -216,6 +217,7 @@ class HwInfoConfigHw : public HwInfoConfig {
|
||||
bool isImplicitScalingSupported(const HardwareInfo &hwInfo) const override;
|
||||
bool isCpuCopyNecessary(const void *ptr, MemoryManager *memoryManager) const override;
|
||||
bool isAdjustWalkOrderAvailable(const HardwareInfo &hwInfo) const override;
|
||||
bool isAssignEngineRoundRobinSupported() const override;
|
||||
|
||||
protected:
|
||||
HwInfoConfigHw() = default;
|
||||
|
@ -222,6 +222,11 @@ bool HwInfoConfigHw<gfxProduct>::isPrefetchDisablingRequired(const HardwareInfo
|
||||
return false;
|
||||
}
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
bool HwInfoConfigHw<gfxProduct>::isAssignEngineRoundRobinSupported() const {
|
||||
return false;
|
||||
}
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
std::pair<bool, bool> HwInfoConfigHw<gfxProduct>::isPipeControlPriorToNonPipelinedStateCommandsWARequired(const HardwareInfo &hwInfo, bool isRcs) const {
|
||||
return {false, false};
|
||||
|
@ -371,8 +371,8 @@ int32_t HwHelperHw<Family>::getDefaultThreadArbitrationPolicy() const {
|
||||
}
|
||||
|
||||
template <>
|
||||
bool HwHelperHw<Family>::isAssignEngineRoundRobinSupported() const {
|
||||
return true;
|
||||
bool HwHelperHw<Family>::isAssignEngineRoundRobinSupported(const HardwareInfo &hwInfo) const {
|
||||
return HwInfoConfig::get(hwInfo.platform.eProductFamily)->isAssignEngineRoundRobinSupported();
|
||||
}
|
||||
|
||||
template <>
|
||||
|
@ -179,3 +179,8 @@ template <>
|
||||
bool HwInfoConfigHw<gfxProduct>::isImplicitScalingSupported(const HardwareInfo &hwInfo) const {
|
||||
return getSteppingFromHwRevId(hwInfo) >= REVISION_B;
|
||||
}
|
||||
|
||||
template <>
|
||||
bool HwInfoConfigHw<gfxProduct>::isAssignEngineRoundRobinSupported() const {
|
||||
return false;
|
||||
}
|
||||
|
@ -66,6 +66,7 @@ XE_HPC_CORETEST_F(HwHelperXeHpcCoreTest, givenHwHelperWhenCheckTimestampWaitSupp
|
||||
}
|
||||
|
||||
XE_HPC_CORETEST_F(HwHelperXeHpcCoreTest, givenXeHPCPlatformWhenCheckAssignEngineRoundRobinSupportedThenReturnTrue) {
|
||||
auto hwInfo = *defaultHwInfo;
|
||||
auto &hwHelper = HwHelperHw<FamilyType>::get();
|
||||
EXPECT_TRUE(hwHelper.isAssignEngineRoundRobinSupported());
|
||||
EXPECT_EQ(hwHelper.isAssignEngineRoundRobinSupported(hwInfo), HwInfoConfig::get(hwInfo.platform.eProductFamily)->isAssignEngineRoundRobinSupported());
|
||||
}
|
||||
|
@ -124,7 +124,7 @@ XE_HPG_CORETEST_F(HwHelperTestXeHpgCore, WhenCheckingSipWAThenFalseIsReturned) {
|
||||
|
||||
XE_HPG_CORETEST_F(HwHelperTestXeHpgCore, givenXeHPAndLaterPlatformWhenCheckAssignEngineRoundRobinSupportedThenReturnFalse) {
|
||||
auto &hwHelper = HwHelperHw<FamilyType>::get();
|
||||
EXPECT_FALSE(hwHelper.isAssignEngineRoundRobinSupported());
|
||||
EXPECT_FALSE(hwHelper.isAssignEngineRoundRobinSupported(*defaultHwInfo));
|
||||
}
|
||||
|
||||
XE_HPG_CORETEST_F(HwHelperTestXeHpgCore, givenHwHelperWhenCheckTimestampWaitSupportThenReturnFalse) {
|
||||
|
Reference in New Issue
Block a user