mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-09 14:33:04 +08:00
Refactor: don't use global ProductHelper getter in L0 2/n
Related-To: NEO-6853 Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
31bb84acd9
commit
16a238895a
@@ -59,13 +59,13 @@ class ProductHelper {
|
||||
virtual void adjustPlatformForProductFamily(HardwareInfo *hwInfo) = 0;
|
||||
virtual void adjustSamplerState(void *sampler, const HardwareInfo &hwInfo) = 0;
|
||||
virtual void disableRcsExposure(HardwareInfo *hwInfo) const = 0;
|
||||
virtual uint64_t getHostMemCapabilities(const HardwareInfo *hwInfo) = 0;
|
||||
virtual uint64_t getDeviceMemCapabilities() = 0;
|
||||
virtual uint64_t getSingleDeviceSharedMemCapabilities() = 0;
|
||||
virtual uint64_t getCrossDeviceSharedMemCapabilities() = 0;
|
||||
virtual uint64_t getSharedSystemMemCapabilities(const HardwareInfo *hwInfo) = 0;
|
||||
virtual void getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) = 0;
|
||||
virtual std::vector<int32_t> getKernelSupportedThreadArbitrationPolicies() = 0;
|
||||
virtual uint64_t getHostMemCapabilities(const HardwareInfo *hwInfo) const = 0;
|
||||
virtual uint64_t getDeviceMemCapabilities() const = 0;
|
||||
virtual uint64_t getSingleDeviceSharedMemCapabilities() const = 0;
|
||||
virtual uint64_t getCrossDeviceSharedMemCapabilities() const = 0;
|
||||
virtual uint64_t getSharedSystemMemCapabilities(const HardwareInfo *hwInfo) const = 0;
|
||||
virtual void getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) const = 0;
|
||||
virtual std::vector<int32_t> getKernelSupportedThreadArbitrationPolicies() const = 0;
|
||||
virtual uint32_t getDeviceMemoryMaxClkRate(const HardwareInfo &hwInfo, const OSInterface *osIface, uint32_t subDeviceIndex) const = 0;
|
||||
virtual uint64_t getDeviceMemoryPhysicalSizeInBytes(const OSInterface *osIface, uint32_t subDeviceIndex) const = 0;
|
||||
virtual uint64_t getDeviceMemoryMaxBandWidthInBytesPerSecond(const HardwareInfo &hwInfo, const OSInterface *osIface, uint32_t subDeviceIndex) const = 0;
|
||||
@@ -204,13 +204,13 @@ class ProductHelperHw : public ProductHelper {
|
||||
void adjustPlatformForProductFamily(HardwareInfo *hwInfo) override;
|
||||
void adjustSamplerState(void *sampler, const HardwareInfo &hwInfo) override;
|
||||
void disableRcsExposure(HardwareInfo *hwInfo) const override;
|
||||
uint64_t getHostMemCapabilities(const HardwareInfo *hwInfo) override;
|
||||
uint64_t getDeviceMemCapabilities() override;
|
||||
uint64_t getSingleDeviceSharedMemCapabilities() override;
|
||||
uint64_t getCrossDeviceSharedMemCapabilities() override;
|
||||
uint64_t getSharedSystemMemCapabilities(const HardwareInfo *hwInfo) override;
|
||||
void getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) override;
|
||||
std::vector<int32_t> getKernelSupportedThreadArbitrationPolicies() override;
|
||||
uint64_t getHostMemCapabilities(const HardwareInfo *hwInfo) const override;
|
||||
uint64_t getDeviceMemCapabilities() const override;
|
||||
uint64_t getSingleDeviceSharedMemCapabilities() const override;
|
||||
uint64_t getCrossDeviceSharedMemCapabilities() const override;
|
||||
uint64_t getSharedSystemMemCapabilities(const HardwareInfo *hwInfo) const override;
|
||||
void getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) const override;
|
||||
std::vector<int32_t> getKernelSupportedThreadArbitrationPolicies() const override;
|
||||
uint32_t getDeviceMemoryMaxClkRate(const HardwareInfo &hwInfo, const OSInterface *osIface, uint32_t subDeviceIndex) const override;
|
||||
uint64_t getDeviceMemoryPhysicalSizeInBytes(const OSInterface *osIface, uint32_t subDeviceIndex) const override;
|
||||
uint64_t getDeviceMemoryMaxBandWidthInBytesPerSecond(const HardwareInfo &hwInfo, const OSInterface *osIface, uint32_t subDeviceIndex) const override;
|
||||
@@ -333,9 +333,9 @@ class ProductHelperHw : public ProductHelper {
|
||||
|
||||
void enableCompression(HardwareInfo *hwInfo) const;
|
||||
void enableBlitterOperationsSupport(HardwareInfo *hwInfo) const;
|
||||
bool getConcurrentAccessMemCapabilitiesSupported(UsmAccessCapabilities capability);
|
||||
uint64_t getHostMemCapabilitiesValue();
|
||||
bool getHostMemCapabilitiesSupported(const HardwareInfo *hwInfo);
|
||||
bool getConcurrentAccessMemCapabilitiesSupported(UsmAccessCapabilities capability) const;
|
||||
uint64_t getHostMemCapabilitiesValue() const;
|
||||
bool getHostMemCapabilitiesSupported(const HardwareInfo *hwInfo) const;
|
||||
LocalMemoryAccessMode getDefaultLocalMemoryAccessMode(const HardwareInfo &hwInfo) const override;
|
||||
void fillScmPropertiesSupportStructureBase(StateComputeModePropertiesSupport &propertiesSupport) const override;
|
||||
};
|
||||
|
||||
@@ -32,14 +32,14 @@ int ProductHelperHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, O
|
||||
}
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
void ProductHelperHw<gfxProduct>::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) {
|
||||
void ProductHelperHw<gfxProduct>::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) const {
|
||||
*fp16 = 0u;
|
||||
*fp32 = 0u;
|
||||
*fp64 = 0u;
|
||||
}
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
std::vector<int32_t> ProductHelperHw<gfxProduct>::getKernelSupportedThreadArbitrationPolicies() {
|
||||
std::vector<int32_t> ProductHelperHw<gfxProduct>::getKernelSupportedThreadArbitrationPolicies() const {
|
||||
using GfxFamily = typename HwMapper<gfxProduct>::GfxFamily;
|
||||
return PreambleHelper<GfxFamily>::getSupportedThreadArbitrationPolicies();
|
||||
}
|
||||
@@ -68,7 +68,7 @@ void ProductHelperHw<gfxProduct>::disableRcsExposure(HardwareInfo *hwInfo) const
|
||||
}
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
uint64_t ProductHelperHw<gfxProduct>::getDeviceMemCapabilities() {
|
||||
uint64_t ProductHelperHw<gfxProduct>::getDeviceMemCapabilities() const {
|
||||
uint64_t capabilities = UNIFIED_SHARED_MEMORY_ACCESS | UNIFIED_SHARED_MEMORY_ATOMIC_ACCESS;
|
||||
|
||||
if (getConcurrentAccessMemCapabilitiesSupported(UsmAccessCapabilities::Device)) {
|
||||
@@ -79,7 +79,7 @@ uint64_t ProductHelperHw<gfxProduct>::getDeviceMemCapabilities() {
|
||||
}
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
uint64_t ProductHelperHw<gfxProduct>::getSingleDeviceSharedMemCapabilities() {
|
||||
uint64_t ProductHelperHw<gfxProduct>::getSingleDeviceSharedMemCapabilities() const {
|
||||
uint64_t capabilities = UNIFIED_SHARED_MEMORY_ACCESS | UNIFIED_SHARED_MEMORY_ATOMIC_ACCESS;
|
||||
|
||||
if (getConcurrentAccessMemCapabilitiesSupported(UsmAccessCapabilities::SharedSingleDevice)) {
|
||||
@@ -90,12 +90,12 @@ uint64_t ProductHelperHw<gfxProduct>::getSingleDeviceSharedMemCapabilities() {
|
||||
}
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
bool ProductHelperHw<gfxProduct>::getHostMemCapabilitiesSupported(const HardwareInfo *hwInfo) {
|
||||
bool ProductHelperHw<gfxProduct>::getHostMemCapabilitiesSupported(const HardwareInfo *hwInfo) const {
|
||||
return true;
|
||||
}
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
uint64_t ProductHelperHw<gfxProduct>::getHostMemCapabilities(const HardwareInfo *hwInfo) {
|
||||
uint64_t ProductHelperHw<gfxProduct>::getHostMemCapabilities(const HardwareInfo *hwInfo) const {
|
||||
bool supported = getHostMemCapabilitiesSupported(hwInfo);
|
||||
|
||||
if (DebugManager.flags.EnableHostUsmSupport.get() != -1) {
|
||||
@@ -112,7 +112,7 @@ uint64_t ProductHelperHw<gfxProduct>::getHostMemCapabilities(const HardwareInfo
|
||||
}
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
uint64_t ProductHelperHw<gfxProduct>::getSharedSystemMemCapabilities(const HardwareInfo *hwInfo) {
|
||||
uint64_t ProductHelperHw<gfxProduct>::getSharedSystemMemCapabilities(const HardwareInfo *hwInfo) const {
|
||||
bool supported = false;
|
||||
|
||||
if (DebugManager.flags.EnableSharedSystemUsmSupport.get() != -1) {
|
||||
@@ -123,7 +123,7 @@ uint64_t ProductHelperHw<gfxProduct>::getSharedSystemMemCapabilities(const Hardw
|
||||
}
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
bool ProductHelperHw<gfxProduct>::getConcurrentAccessMemCapabilitiesSupported(UsmAccessCapabilities capability) {
|
||||
bool ProductHelperHw<gfxProduct>::getConcurrentAccessMemCapabilitiesSupported(UsmAccessCapabilities capability) const {
|
||||
auto supported = false;
|
||||
|
||||
if (DebugManager.flags.EnableUsmConcurrentAccessSupport.get() > 0) {
|
||||
|
||||
@@ -10,12 +10,12 @@
|
||||
namespace NEO {
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
uint64_t ProductHelperHw<gfxProduct>::getHostMemCapabilitiesValue() {
|
||||
uint64_t ProductHelperHw<gfxProduct>::getHostMemCapabilitiesValue() const {
|
||||
return (UNIFIED_SHARED_MEMORY_ACCESS | UNIFIED_SHARED_MEMORY_ATOMIC_ACCESS);
|
||||
}
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
uint64_t ProductHelperHw<gfxProduct>::getCrossDeviceSharedMemCapabilities() {
|
||||
uint64_t ProductHelperHw<gfxProduct>::getCrossDeviceSharedMemCapabilities() const {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -9,12 +9,12 @@
|
||||
namespace NEO {
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
uint64_t ProductHelperHw<gfxProduct>::getHostMemCapabilitiesValue() {
|
||||
uint64_t ProductHelperHw<gfxProduct>::getHostMemCapabilitiesValue() const {
|
||||
return (UNIFIED_SHARED_MEMORY_ACCESS);
|
||||
}
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
uint64_t ProductHelperHw<gfxProduct>::getCrossDeviceSharedMemCapabilities() {
|
||||
uint64_t ProductHelperHw<gfxProduct>::getCrossDeviceSharedMemCapabilities() const {
|
||||
uint64_t capabilities = UNIFIED_SHARED_MEMORY_ACCESS | UNIFIED_SHARED_MEMORY_ATOMIC_ACCESS;
|
||||
|
||||
if (getConcurrentAccessMemCapabilitiesSupported(UsmAccessCapabilities::SharedCrossDevice)) {
|
||||
|
||||
@@ -55,7 +55,7 @@ int ProductHelperHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, O
|
||||
}
|
||||
|
||||
template <>
|
||||
bool ProductHelperHw<gfxProduct>::getHostMemCapabilitiesSupported(const HardwareInfo *hwInfo) {
|
||||
bool ProductHelperHw<gfxProduct>::getHostMemCapabilitiesSupported(const HardwareInfo *hwInfo) const {
|
||||
if (GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_B, *hwInfo, *this) && (getLocalMemoryAccessMode(*hwInfo) == LocalMemoryAccessMode::CpuAccessAllowed)) {
|
||||
return false;
|
||||
}
|
||||
@@ -64,12 +64,12 @@ bool ProductHelperHw<gfxProduct>::getHostMemCapabilitiesSupported(const Hardware
|
||||
}
|
||||
|
||||
template <>
|
||||
uint64_t ProductHelperHw<gfxProduct>::getHostMemCapabilitiesValue() {
|
||||
uint64_t ProductHelperHw<gfxProduct>::getHostMemCapabilitiesValue() const {
|
||||
return UNIFIED_SHARED_MEMORY_ACCESS;
|
||||
}
|
||||
|
||||
template <>
|
||||
void ProductHelperHw<gfxProduct>::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) {
|
||||
void ProductHelperHw<gfxProduct>::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) const {
|
||||
*fp16 = 0u;
|
||||
*fp32 = FP_ATOMIC_EXT_FLAG_GLOBAL_ADD;
|
||||
*fp64 = 0u;
|
||||
|
||||
@@ -33,7 +33,7 @@ int ProductHelperHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, O
|
||||
}
|
||||
|
||||
template <>
|
||||
bool ProductHelperHw<gfxProduct>::getHostMemCapabilitiesSupported(const HardwareInfo *hwInfo) {
|
||||
bool ProductHelperHw<gfxProduct>::getHostMemCapabilitiesSupported(const HardwareInfo *hwInfo) const {
|
||||
if (GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_B, *hwInfo, *this) && (getLocalMemoryAccessMode(*hwInfo) == LocalMemoryAccessMode::CpuAccessAllowed)) {
|
||||
return false;
|
||||
}
|
||||
@@ -42,7 +42,7 @@ bool ProductHelperHw<gfxProduct>::getHostMemCapabilitiesSupported(const Hardware
|
||||
}
|
||||
|
||||
template <>
|
||||
void ProductHelperHw<gfxProduct>::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) {
|
||||
void ProductHelperHw<gfxProduct>::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) const {
|
||||
*fp16 = 0u;
|
||||
*fp32 = FP_ATOMIC_EXT_FLAG_GLOBAL_ADD;
|
||||
*fp64 = 0u;
|
||||
|
||||
@@ -54,7 +54,7 @@ void ProductHelperHw<gfxProduct>::adjustSamplerState(void *sampler, const Hardwa
|
||||
}
|
||||
|
||||
template <>
|
||||
void ProductHelperHw<gfxProduct>::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) {
|
||||
void ProductHelperHw<gfxProduct>::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) const {
|
||||
*fp16 = (FP_ATOMIC_EXT_FLAG_GLOBAL_LOAD_STORE | FP_ATOMIC_EXT_FLAG_GLOBAL_ADD | FP_ATOMIC_EXT_FLAG_GLOBAL_MIN_MAX);
|
||||
*fp32 = (FP_ATOMIC_EXT_FLAG_GLOBAL_LOAD_STORE | FP_ATOMIC_EXT_FLAG_GLOBAL_ADD | FP_ATOMIC_EXT_FLAG_GLOBAL_MIN_MAX);
|
||||
*fp64 = (FP_ATOMIC_EXT_FLAG_GLOBAL_LOAD_STORE | FP_ATOMIC_EXT_FLAG_GLOBAL_ADD | FP_ATOMIC_EXT_FLAG_GLOBAL_MIN_MAX);
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
namespace NEO {
|
||||
template <>
|
||||
void ProductHelperHw<gfxProduct>::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) {
|
||||
void ProductHelperHw<gfxProduct>::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) const {
|
||||
*fp16 = 0u;
|
||||
*fp32 = FP_ATOMIC_EXT_FLAG_GLOBAL_ADD;
|
||||
*fp64 = 0u;
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace NEO {
|
||||
template <PRODUCT_FAMILY productFamily>
|
||||
struct MockProductHelperHw : NEO::ProductHelperHw<productFamily> {
|
||||
using ProductHelper::getDefaultLocalMemoryAccessMode;
|
||||
std::vector<int32_t> getKernelSupportedThreadArbitrationPolicies() override;
|
||||
std::vector<int32_t> getKernelSupportedThreadArbitrationPolicies() const override;
|
||||
bool isCooperativeEngineSupported(const HardwareInfo &hwInfo) const override;
|
||||
bool getUuid(Device *device, std::array<uint8_t, ProductHelper::uuidSize> &uuid) const override;
|
||||
uint32_t getSteppingFromHwRevId(const HardwareInfo &hwInfo) const override;
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*/
|
||||
|
||||
template <>
|
||||
std::vector<int32_t> MockProductHelperHw<gfxProduct>::getKernelSupportedThreadArbitrationPolicies() {
|
||||
std::vector<int32_t> MockProductHelperHw<gfxProduct>::getKernelSupportedThreadArbitrationPolicies() const {
|
||||
return threadArbPolicies;
|
||||
}
|
||||
template <>
|
||||
|
||||
@@ -38,32 +38,32 @@ void ProductHelperHw<IGFX_UNKNOWN>::adjustPlatformForProductFamily(HardwareInfo
|
||||
}
|
||||
|
||||
template <>
|
||||
uint64_t ProductHelperHw<IGFX_UNKNOWN>::getHostMemCapabilities(const HardwareInfo *hwInfo) {
|
||||
uint64_t ProductHelperHw<IGFX_UNKNOWN>::getHostMemCapabilities(const HardwareInfo *hwInfo) const {
|
||||
return 0;
|
||||
}
|
||||
|
||||
template <>
|
||||
uint64_t ProductHelperHw<IGFX_UNKNOWN>::getDeviceMemCapabilities() {
|
||||
uint64_t ProductHelperHw<IGFX_UNKNOWN>::getDeviceMemCapabilities() const {
|
||||
return 0;
|
||||
}
|
||||
|
||||
template <>
|
||||
uint64_t ProductHelperHw<IGFX_UNKNOWN>::getSingleDeviceSharedMemCapabilities() {
|
||||
uint64_t ProductHelperHw<IGFX_UNKNOWN>::getSingleDeviceSharedMemCapabilities() const {
|
||||
return 0;
|
||||
}
|
||||
|
||||
template <>
|
||||
uint64_t ProductHelperHw<IGFX_UNKNOWN>::getCrossDeviceSharedMemCapabilities() {
|
||||
uint64_t ProductHelperHw<IGFX_UNKNOWN>::getCrossDeviceSharedMemCapabilities() const {
|
||||
return 0;
|
||||
}
|
||||
|
||||
template <>
|
||||
uint64_t ProductHelperHw<IGFX_UNKNOWN>::getSharedSystemMemCapabilities(const HardwareInfo *hwInfo) {
|
||||
uint64_t ProductHelperHw<IGFX_UNKNOWN>::getSharedSystemMemCapabilities(const HardwareInfo *hwInfo) const {
|
||||
return 0;
|
||||
}
|
||||
|
||||
template <>
|
||||
void ProductHelperHw<IGFX_UNKNOWN>::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) {
|
||||
void ProductHelperHw<IGFX_UNKNOWN>::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) const {
|
||||
}
|
||||
|
||||
template <>
|
||||
@@ -185,7 +185,7 @@ LocalMemoryAccessMode ProductHelperHw<IGFX_UNKNOWN>::getLocalMemoryAccessMode(co
|
||||
}
|
||||
|
||||
template <>
|
||||
std::vector<int32_t> ProductHelperHw<IGFX_UNKNOWN>::getKernelSupportedThreadArbitrationPolicies() {
|
||||
std::vector<int32_t> ProductHelperHw<IGFX_UNKNOWN>::getKernelSupportedThreadArbitrationPolicies() const {
|
||||
return {};
|
||||
}
|
||||
|
||||
@@ -366,7 +366,7 @@ bool ProductHelperHw<IGFX_UNKNOWN>::isTimestampWaitSupportedForEvents() const {
|
||||
}
|
||||
|
||||
template <>
|
||||
uint64_t ProductHelperHw<IGFX_UNKNOWN>::getHostMemCapabilitiesValue() {
|
||||
uint64_t ProductHelperHw<IGFX_UNKNOWN>::getHostMemCapabilitiesValue() const {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user