simplify systolic mode code and reduce double implementation

Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
Zbigniew Zdanowicz
2022-09-14 13:03:02 +00:00
committed by Compute-Runtime-Automation
parent 3d4b4b5746
commit cee520b311
27 changed files with 83 additions and 109 deletions

View File

@@ -78,7 +78,6 @@ class HwInfoConfig {
virtual uint32_t getHwRevIdFromStepping(uint32_t stepping, const HardwareInfo &hwInfo) const = 0;
virtual uint32_t getSteppingFromHwRevId(const HardwareInfo &hwInfo) const = 0;
virtual uint32_t getAubStreamSteppingFromHwRevId(const HardwareInfo &hwInfo) const = 0;
virtual void setAdditionalPipelineSelectFields(void *pipelineSelectCmd, const PipelineSelectArgs &pipelineSelectArgs, const HardwareInfo &hwInfo) = 0;
virtual bool isDefaultEngineTypeAdjustmentRequired(const HardwareInfo &hwInfo) const = 0;
virtual bool overrideGfxPartitionLayoutForWsl() const = 0;
virtual std::string getDeviceMemoryName() const = 0;
@@ -109,7 +108,6 @@ class HwInfoConfig {
virtual bool getUuid(Device *device, std::array<uint8_t, HwInfoConfig::uuidSize> &uuid) const = 0;
virtual bool isFlushTaskAllowed() const = 0;
virtual bool programAllStateComputeCommandFields() const = 0;
virtual bool isSystolicPipelineSelectModeChanged(const HardwareInfo &hwInfo) const = 0;
virtual bool isSystolicModeConfigurable(const HardwareInfo &hwInfo) const = 0;
virtual bool isGlobalFenceInCommandStreamRequired(const HardwareInfo &hwInfo) const = 0;
virtual bool isGlobalFenceInDirectSubmissionRequired(const HardwareInfo &hwInfo) const = 0;
@@ -215,7 +213,6 @@ class HwInfoConfigHw : public HwInfoConfig {
AOT::PRODUCT_CONFIG getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const override;
uint32_t getSteppingFromHwRevId(const HardwareInfo &hwInfo) const override;
uint32_t getAubStreamSteppingFromHwRevId(const HardwareInfo &hwInfo) const override;
void setAdditionalPipelineSelectFields(void *pipelineSelectCmd, const PipelineSelectArgs &pipelineSelectArgs, const HardwareInfo &hwInfo) override;
bool isDefaultEngineTypeAdjustmentRequired(const HardwareInfo &hwInfo) const override;
std::string getDeviceMemoryName() const override;
bool isDisableOverdispatchAvailable(const HardwareInfo &hwInfo) const override;
@@ -245,7 +242,6 @@ class HwInfoConfigHw : public HwInfoConfig {
bool getUuid(Device *device, std::array<uint8_t, HwInfoConfig::uuidSize> &uuid) const override;
bool isFlushTaskAllowed() const override;
bool programAllStateComputeCommandFields() const override;
bool isSystolicPipelineSelectModeChanged(const HardwareInfo &hwInfo) const override;
bool isSystolicModeConfigurable(const HardwareInfo &hwInfo) const override;
bool isComputeDispatchAllWalkerEnableInComputeWalkerRequired(const HardwareInfo &hwInfo) const override;
bool isGlobalFenceInCommandStreamRequired(const HardwareInfo &hwInfo) const override;

View File

@@ -206,9 +206,6 @@ uint32_t HwInfoConfigHw<gfxProduct>::getAubStreamSteppingFromHwRevId(const Hardw
}
}
template <PRODUCT_FAMILY gfxProduct>
void HwInfoConfigHw<gfxProduct>::setAdditionalPipelineSelectFields(void *pipelineSelectCmd, const PipelineSelectArgs &pipelineSelectArgs, const HardwareInfo &hwInfo) {}
template <PRODUCT_FAMILY gfxProduct>
bool HwInfoConfigHw<gfxProduct>::isDefaultEngineTypeAdjustmentRequired(const HardwareInfo &hwInfo) const {
return false;
@@ -356,14 +353,9 @@ bool HwInfoConfigHw<gfxProduct>::programAllStateComputeCommandFields() const {
return false;
}
template <PRODUCT_FAMILY gfxProduct>
bool HwInfoConfigHw<gfxProduct>::isSystolicPipelineSelectModeChanged(const HardwareInfo &hwInfo) const {
return false;
}
template <PRODUCT_FAMILY gfxProduct>
bool HwInfoConfigHw<gfxProduct>::isSystolicModeConfigurable(const HardwareInfo &hwInfo) const {
return false;
return getPipelineSelectPropertySystolicModeSupport();
}
template <PRODUCT_FAMILY gfxProduct>
@@ -646,7 +638,7 @@ template <PRODUCT_FAMILY gfxProduct>
void HwInfoConfigHw<gfxProduct>::fillPipelineSelectPropertiesSupportStructure(PipelineSelectPropertiesSupport &propertiesSupport, const HardwareInfo &hwInfo) {
propertiesSupport.modeSelected = getPipelineSelectPropertyModeSelectedSupport();
propertiesSupport.mediaSamplerDopClockGate = getPipelineSelectPropertyMediaSamplerDopClockGateSupport();
propertiesSupport.systolicMode = getPipelineSelectPropertySystolicModeSupport();
propertiesSupport.systolicMode = isSystolicModeConfigurable(hwInfo);
}
} // namespace NEO