Add function to query minimal SIMD size.

Change-Id: I9b6815b3559f7cdd8eddd05ad78c721a360814ef
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
This commit is contained in:
Michal Mrozek
2020-01-27 18:02:27 +01:00
parent c9b845e72f
commit 63bfd36232
4 changed files with 14 additions and 1 deletions

View File

@@ -72,6 +72,7 @@ class HwHelper {
uint32_t threadsPerEu) = 0;
virtual uint32_t alignSlmSize(uint32_t slmSize) = 0;
virtual bool isForceEmuInt32DivRemSPWARequired(const HardwareInfo &hwInfo) = 0;
virtual uint32_t getMinimalSIMDSize() = 0;
virtual bool isOffsetToSkipSetFFIDGPWARequired(const HardwareInfo &hwInfo) const = 0;
static uint32_t getSubDevicesCount(const HardwareInfo *pHwInfo);
@@ -193,6 +194,8 @@ class HwHelperHw : public HwHelper {
bool isForceEmuInt32DivRemSPWARequired(const HardwareInfo &hwInfo) override;
uint32_t getMinimalSIMDSize() override;
protected:
static const AuxTranslationMode defaultAuxTranslationMode;
HwHelperHw() = default;

View File

@@ -277,6 +277,11 @@ bool HwHelperHw<GfxFamily>::isForceEmuInt32DivRemSPWARequired(const HardwareInfo
return false;
}
template <typename GfxFamily>
inline uint32_t HwHelperHw<GfxFamily>::getMinimalSIMDSize() {
return 8u;
}
template <typename GfxFamily>
uint32_t HwHelperHw<GfxFamily>::getMaxThreadsForWorkgroup(const HardwareInfo &hwInfo, uint32_t maxNumEUsPerSubSlice) const {
return HwHelper::getMaxThreadsForWorkgroup(hwInfo, maxNumEUsPerSubSlice);