From 16a238895a5a4a4e8142ccf568abb4e20e2e1f05 Mon Sep 17 00:00:00 2001 From: Kamil Kopryk Date: Wed, 21 Dec 2022 11:35:37 +0000 Subject: [PATCH] Refactor: don't use global ProductHelper getter in L0 2/n Related-To: NEO-6853 Signed-off-by: Kamil Kopryk --- level_zero/core/source/device/device_imp.cpp | 8 ++--- level_zero/core/source/kernel/kernel_imp.cpp | 2 +- level_zero/core/source/module/module_imp.cpp | 8 ++--- .../gen12lp/test_cmdlist_gen12lp.cpp | 4 +-- .../sources/cmdlist/test_cmdlist_6.cpp | 7 ++-- .../sources/cmdlist/test_cmdlist_7.cpp | 4 +-- .../test_cmdlist_append_launch_kernel_3.cpp | 6 ++-- .../cmdlist/test_cmdlist_xehp_and_later.cpp | 4 +-- shared/source/os_interface/hw_info_config.h | 34 +++++++++---------- shared/source/os_interface/hw_info_config.inl | 16 ++++----- .../hw_info_config_bdw_and_later.inl | 4 +-- .../hw_info_config_xehp_and_later.inl | 4 +-- .../linux/hw_info_config_xe_hp_sdv.cpp | 6 ++-- .../windows/hw_info_config_xe_hp_sdv.cpp | 4 +-- ...os_agnostic_hw_info_config_xe_hpc_core.inl | 2 +- ...os_agnostic_hw_info_config_xe_hpg_core.inl | 2 +- .../common/helpers/mock_hw_info_config_hw.h | 2 +- .../common/helpers/mock_hw_info_config_hw.inl | 2 +- .../test/common/mocks/mock_hw_info_config.cpp | 16 ++++----- 19 files changed, 66 insertions(+), 69 deletions(-) diff --git a/level_zero/core/source/device/device_imp.cpp b/level_zero/core/source/device/device_imp.cpp index 0f24dc2183..2f65e89ff0 100644 --- a/level_zero/core/source/device/device_imp.cpp +++ b/level_zero/core/source/device/device_imp.cpp @@ -603,7 +603,7 @@ ze_result_t DeviceImp::getMemoryProperties(uint32_t *pCount, ze_device_memory_pr ze_result_t DeviceImp::getMemoryAccessProperties(ze_device_memory_access_properties_t *pMemAccessProperties) { auto &hwInfo = this->getHwInfo(); - auto &productHelper = *NEO::ProductHelper::get(hwInfo.platform.eProductFamily); + auto &productHelper = this->getProductHelper(); pMemAccessProperties->hostAllocCapabilities = static_cast(productHelper.getHostMemCapabilities(&hwInfo)); @@ -682,15 +682,11 @@ ze_result_t DeviceImp::getKernelProperties(ze_device_module_properties_t *pKerne } pKernelProperties->nativeKernelSupported.id[0] = 0; - processAdditionalKernelProperties(gfxCoreHelper, pKernelProperties); - pKernelProperties->maxArgumentsSize = static_cast(this->neoDevice->getDeviceInfo().maxParameterSize); - pKernelProperties->printfBufferSize = static_cast(this->neoDevice->getDeviceInfo().printfBufferSize); - auto &hwInfo = this->getHwInfo(); - auto &productHelper = *NEO::ProductHelper::get(hwInfo.platform.eProductFamily); + auto &productHelper = this->getProductHelper(); void *pNext = pKernelProperties->pNext; while (pNext) { diff --git a/level_zero/core/source/kernel/kernel_imp.cpp b/level_zero/core/source/kernel/kernel_imp.cpp index 9a1bc1674c..28472110a0 100644 --- a/level_zero/core/source/kernel/kernel_imp.cpp +++ b/level_zero/core/source/kernel/kernel_imp.cpp @@ -808,7 +808,7 @@ ze_result_t KernelImp::initialize(const ze_kernel_desc_t *desc) { auto neoDevice = module->getDevice()->getNEODevice(); auto &hwInfo = neoDevice->getHardwareInfo(); - const auto &productHelper = *NEO::ProductHelper::get(hwInfo.platform.eProductFamily); + const auto &productHelper = neoDevice->getProductHelper(); auto &kernelDescriptor = kernelImmData->getDescriptor(); auto ret = NEO::KernelHelper::checkIfThereIsSpaceForScratchOrPrivate(kernelDescriptor.kernelAttributes, neoDevice); if (ret == NEO::KernelHelper::ErrorCode::INVALID_KERNEL) { diff --git a/level_zero/core/source/module/module_imp.cpp b/level_zero/core/source/module/module_imp.cpp index 38d184133d..40cfc2c77a 100644 --- a/level_zero/core/source/module/module_imp.cpp +++ b/level_zero/core/source/module/module_imp.cpp @@ -611,7 +611,7 @@ ze_result_t ModuleImp::initialize(const ze_module_desc_t *desc, NEO::Device *neo } registerElfInDebuggerL0(); - this->maxGroupSize = static_cast(this->translationUnit->device->getNEODevice()->getDeviceInfo().maxWorkGroupSize); + this->maxGroupSize = static_cast(neoDevice->getDeviceInfo().maxWorkGroupSize); checkIfPrivateMemoryPerDispatchIsNeeded(); @@ -624,7 +624,7 @@ ze_result_t ModuleImp::initialize(const ze_module_desc_t *desc, NEO::Device *neo passDebugData(); } - const auto &productHelper = *NEO::ProductHelper::get(hwInfo.platform.eProductFamily); + const auto &productHelper = neoDevice->getProductHelper(); if (this->isFullyLinked && this->type == ModuleType::User) { for (auto &ki : kernelImmDatas) { @@ -834,8 +834,8 @@ ze_result_t ModuleImp::getDebugInfo(size_t *pDebugDataSize, uint8_t *pDebugData) void ModuleImp::copyPatchedSegments(const NEO::Linker::PatchableSegments &isaSegmentsForPatching) { if (this->translationUnit->programInfo.linkerInput && this->translationUnit->programInfo.linkerInput->getTraits().requiresPatchingOfInstructionSegments) { - const auto &hwInfo = device->getNEODevice()->getHardwareInfo(); - const auto &productHelper = *NEO::ProductHelper::get(hwInfo.platform.eProductFamily); + const auto &hwInfo = this->device->getNEODevice()->getHardwareInfo(); + const auto &productHelper = this->device->getProductHelper(); for (auto &kernelImmData : this->kernelImmDatas) { if (nullptr == kernelImmData->getIsaGraphicsAllocation()) { diff --git a/level_zero/core/test/unit_tests/gen12lp/test_cmdlist_gen12lp.cpp b/level_zero/core/test/unit_tests/gen12lp/test_cmdlist_gen12lp.cpp index a20821d853..d6b8081155 100644 --- a/level_zero/core/test/unit_tests/gen12lp/test_cmdlist_gen12lp.cpp +++ b/level_zero/core/test/unit_tests/gen12lp/test_cmdlist_gen12lp.cpp @@ -195,7 +195,7 @@ HWTEST2_F(CommandListCreate, GivenHostMemoryInSvmManagerWhenAppendingMemoryBarri { using L3_FLUSH_EVICTION_POLICY = typename FamilyType::L3_FLUSH_ADDRESS_RANGE::L3_FLUSH_EVICTION_POLICY; auto cmd = genCmdCast(*itorPC); - const auto &productHelper = *NEO::ProductHelper::get(device->getHwInfo().platform.eProductFamily); + const auto &productHelper = device->getProductHelper(); auto isA0Stepping = (productHelper.getSteppingFromHwRevId(device->getHwInfo()) == REVISION_A0); auto maskedAddress = cmd->getL3FlushAddressRange().getAddress(isA0Stepping); EXPECT_NE(maskedAddress, 0u); @@ -258,7 +258,7 @@ HWTEST2_F(CommandListCreate, GivenHostMemoryWhenAppendingMemoryBarrierThenAddres { using L3_FLUSH_EVICTION_POLICY = typename FamilyType::L3_FLUSH_ADDRESS_RANGE::L3_FLUSH_EVICTION_POLICY; auto cmd = genCmdCast(*itorPC); - const auto &productHelper = *NEO::ProductHelper::get(device->getHwInfo().platform.eProductFamily); + const auto &productHelper = device->getProductHelper(); auto isA0Stepping = (productHelper.getSteppingFromHwRevId(device->getHwInfo()) == REVISION_A0); auto maskedAddress = cmd->getL3FlushAddressRange().getAddress(isA0Stepping); EXPECT_NE(maskedAddress, 0u); diff --git a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_6.cpp b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_6.cpp index 51cf2d28b1..0a22b3cdce 100644 --- a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_6.cpp +++ b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_6.cpp @@ -57,8 +57,9 @@ HWTEST2_F(MultiTileCopyEngineCommandListTest, GivenMultiTileDeviceWhenCreatingCo using CommandListExecuteImmediate = Test; HWTEST2_F(CommandListExecuteImmediate, whenExecutingCommandListImmediateWithFlushTaskThenRequiredStreamStateIsCorrectlyReported, IsAtLeastSkl) { - auto &gfxCoreHelper = NEO::GfxCoreHelper::get(device->getHwInfo().platform.eRenderCoreFamily); - auto &productHelper = *NEO::ProductHelper::get(device->getHwInfo().platform.eProductFamily); + auto &gfxCoreHelper = device->getGfxCoreHelper(); + auto &productHelper = device->getProductHelper(); + std::unique_ptr commandList; const ze_command_queue_desc_t desc = {}; ze_result_t returnValue; @@ -805,7 +806,7 @@ HWTEST2_F(ImmediateCmdListSharedHeapsTest, givenMultipleCommandListsUsingSharedH auto &hwInfo = device->getHwInfo(); uint32_t expectedSbaCount = 1; - auto &productHelper = *NEO::ProductHelper::get(hwInfo.platform.eProductFamily); + auto &productHelper = device->getProductHelper(); if (productHelper.isAdditionalStateBaseAddressWARequired(hwInfo)) { expectedSbaCount++; } diff --git a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_7.cpp b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_7.cpp index a1bf844e74..cee5f23b4e 100644 --- a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_7.cpp +++ b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_7.cpp @@ -329,7 +329,7 @@ struct ProgramChangedFieldsInComputeMode { }; HWTEST2_F(CommandListAppendLaunchKernel, GivenComputeModePropertiesWhenUpdateStreamPropertiesIsCalledTwiceThenChangedFieldsAreDirty, ProgramChangedFieldsInComputeMode) { DebugManagerStateRestore restorer; - auto &productHelper = *NEO::ProductHelper::get(defaultHwInfo->platform.eProductFamily); + auto &productHelper = device->getProductHelper(); Mock<::L0::Kernel> kernel; auto pMockModule = std::unique_ptr(new Mock(device, nullptr)); @@ -398,7 +398,7 @@ HWTEST2_F(CommandListAppendLaunchKernel, HWTEST2_F(CommandListAppendLaunchKernel, GivenComputeModePropertiesWhenPropertesNotChangedThenAllFieldsAreNotDirty, IsAtLeastSkl) { DebugManagerStateRestore restorer; - auto &productHelper = *NEO::ProductHelper::get(defaultHwInfo->platform.eProductFamily); + auto &productHelper = device->getProductHelper(); Mock<::L0::Kernel> kernel; auto pMockModule = std::unique_ptr(new Mock(device, nullptr)); diff --git a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_append_launch_kernel_3.cpp b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_append_launch_kernel_3.cpp index efc120e68d..d247d538f1 100644 --- a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_append_launch_kernel_3.cpp +++ b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_append_launch_kernel_3.cpp @@ -310,8 +310,8 @@ HWTEST2_F(CommandListAppendLaunchKernel, givenKernelUsingSyncBufferWhenAppendLau kernelAttributes.numGrfRequired = GrfConfig::DefaultGrfNumber; auto pCommandList = std::make_unique>>(); - auto &productHelper = *ProductHelper::get(defaultHwInfo->platform.eProductFamily); - auto &gfxCoreHelper = GfxCoreHelper::get(defaultHwInfo->platform.eRenderCoreFamily); + auto &productHelper = device->getProductHelper(); + auto &gfxCoreHelper = device->getGfxCoreHelper(); auto engineGroupType = NEO::EngineGroupType::Compute; if (productHelper.isCooperativeEngineSupported(*defaultHwInfo)) { engineGroupType = gfxCoreHelper.getEngineGroupType(aub_stream::EngineType::ENGINE_CCS, EngineUsage::Cooperative, *defaultHwInfo); @@ -365,7 +365,7 @@ HWTEST2_F(CommandListAppendLaunchKernel, whenUpdateStreamPropertiesIsCalledThenR EXPECT_EQ(-1, pCommandList->requiredStreamState.frontEndState.disableOverdispatch.value); EXPECT_EQ(-1, pCommandList->finalStreamState.frontEndState.disableOverdispatch.value); - const auto &productHelper = *NEO::ProductHelper::get(defaultHwInfo->platform.eProductFamily); + const auto &productHelper = device->getProductHelper(); int32_t expectedDisableOverdispatch = productHelper.isDisableOverdispatchAvailable(*defaultHwInfo) ? 1 : -1; pCommandList->updateStreamProperties(kernel, false); diff --git a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_xehp_and_later.cpp b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_xehp_and_later.cpp index 45e93ce875..7fb8ae9af3 100644 --- a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_xehp_and_later.cpp +++ b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_xehp_and_later.cpp @@ -212,7 +212,7 @@ HWTEST2_F(CommandListAppendLaunchKernel, givenVariousKernelsWhenUpdateStreamProp EXPECT_EQ(-1, pCommandList->finalStreamState.frontEndState.computeDispatchAllWalkerEnable.value); EXPECT_EQ(0u, pCommandList->commandsToPatch.size()); - auto &productHelper = *NEO::ProductHelper::get(device->getHwInfo().platform.eProductFamily); + auto &productHelper = device->getProductHelper(); int32_t expectedDispatchAllWalkerEnable = productHelper.isComputeDispatchAllWalkerEnableInCfeStateRequired(device->getHwInfo()) ? 0 : -1; pCommandList->updateStreamProperties(defaultKernel, false); @@ -290,7 +290,7 @@ HWTEST2_F(CommandListAppendLaunchKernel, givenVariousKernelsAndPatchingDisallowe pCommandList->updateStreamProperties(defaultKernel, false); pCommandList->updateStreamProperties(cooperativeKernel, true); - const auto &productHelper = *NEO::ProductHelper::get(device->getHwInfo().platform.eProductFamily); + const auto &productHelper = device->getProductHelper(); size_t expectedCmdsToPatch = productHelper.isComputeDispatchAllWalkerEnableInCfeStateRequired(device->getHwInfo()) ? 1 : 0; EXPECT_EQ(expectedCmdsToPatch, pCommandList->commandsToPatch.size()); diff --git a/shared/source/os_interface/hw_info_config.h b/shared/source/os_interface/hw_info_config.h index 316eb1252b..da09a8c267 100644 --- a/shared/source/os_interface/hw_info_config.h +++ b/shared/source/os_interface/hw_info_config.h @@ -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 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 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 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 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; }; diff --git a/shared/source/os_interface/hw_info_config.inl b/shared/source/os_interface/hw_info_config.inl index 5567b6ee0d..5b77c7d779 100644 --- a/shared/source/os_interface/hw_info_config.inl +++ b/shared/source/os_interface/hw_info_config.inl @@ -32,14 +32,14 @@ int ProductHelperHw::configureHardwareCustom(HardwareInfo *hwInfo, O } template -void ProductHelperHw::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) { +void ProductHelperHw::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) const { *fp16 = 0u; *fp32 = 0u; *fp64 = 0u; } template -std::vector ProductHelperHw::getKernelSupportedThreadArbitrationPolicies() { +std::vector ProductHelperHw::getKernelSupportedThreadArbitrationPolicies() const { using GfxFamily = typename HwMapper::GfxFamily; return PreambleHelper::getSupportedThreadArbitrationPolicies(); } @@ -68,7 +68,7 @@ void ProductHelperHw::disableRcsExposure(HardwareInfo *hwInfo) const } template -uint64_t ProductHelperHw::getDeviceMemCapabilities() { +uint64_t ProductHelperHw::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::getDeviceMemCapabilities() { } template -uint64_t ProductHelperHw::getSingleDeviceSharedMemCapabilities() { +uint64_t ProductHelperHw::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::getSingleDeviceSharedMemCapabilities() { } template -bool ProductHelperHw::getHostMemCapabilitiesSupported(const HardwareInfo *hwInfo) { +bool ProductHelperHw::getHostMemCapabilitiesSupported(const HardwareInfo *hwInfo) const { return true; } template -uint64_t ProductHelperHw::getHostMemCapabilities(const HardwareInfo *hwInfo) { +uint64_t ProductHelperHw::getHostMemCapabilities(const HardwareInfo *hwInfo) const { bool supported = getHostMemCapabilitiesSupported(hwInfo); if (DebugManager.flags.EnableHostUsmSupport.get() != -1) { @@ -112,7 +112,7 @@ uint64_t ProductHelperHw::getHostMemCapabilities(const HardwareInfo } template -uint64_t ProductHelperHw::getSharedSystemMemCapabilities(const HardwareInfo *hwInfo) { +uint64_t ProductHelperHw::getSharedSystemMemCapabilities(const HardwareInfo *hwInfo) const { bool supported = false; if (DebugManager.flags.EnableSharedSystemUsmSupport.get() != -1) { @@ -123,7 +123,7 @@ uint64_t ProductHelperHw::getSharedSystemMemCapabilities(const Hardw } template -bool ProductHelperHw::getConcurrentAccessMemCapabilitiesSupported(UsmAccessCapabilities capability) { +bool ProductHelperHw::getConcurrentAccessMemCapabilitiesSupported(UsmAccessCapabilities capability) const { auto supported = false; if (DebugManager.flags.EnableUsmConcurrentAccessSupport.get() > 0) { diff --git a/shared/source/os_interface/hw_info_config_bdw_and_later.inl b/shared/source/os_interface/hw_info_config_bdw_and_later.inl index 8d2e3ab1bb..6b8aadbeb5 100644 --- a/shared/source/os_interface/hw_info_config_bdw_and_later.inl +++ b/shared/source/os_interface/hw_info_config_bdw_and_later.inl @@ -10,12 +10,12 @@ namespace NEO { template -uint64_t ProductHelperHw::getHostMemCapabilitiesValue() { +uint64_t ProductHelperHw::getHostMemCapabilitiesValue() const { return (UNIFIED_SHARED_MEMORY_ACCESS | UNIFIED_SHARED_MEMORY_ATOMIC_ACCESS); } template -uint64_t ProductHelperHw::getCrossDeviceSharedMemCapabilities() { +uint64_t ProductHelperHw::getCrossDeviceSharedMemCapabilities() const { return 0; } diff --git a/shared/source/os_interface/hw_info_config_xehp_and_later.inl b/shared/source/os_interface/hw_info_config_xehp_and_later.inl index ac9ce14754..e64bf5a462 100644 --- a/shared/source/os_interface/hw_info_config_xehp_and_later.inl +++ b/shared/source/os_interface/hw_info_config_xehp_and_later.inl @@ -9,12 +9,12 @@ namespace NEO { template -uint64_t ProductHelperHw::getHostMemCapabilitiesValue() { +uint64_t ProductHelperHw::getHostMemCapabilitiesValue() const { return (UNIFIED_SHARED_MEMORY_ACCESS); } template -uint64_t ProductHelperHw::getCrossDeviceSharedMemCapabilities() { +uint64_t ProductHelperHw::getCrossDeviceSharedMemCapabilities() const { uint64_t capabilities = UNIFIED_SHARED_MEMORY_ACCESS | UNIFIED_SHARED_MEMORY_ATOMIC_ACCESS; if (getConcurrentAccessMemCapabilitiesSupported(UsmAccessCapabilities::SharedCrossDevice)) { diff --git a/shared/source/xe_hp_core/linux/hw_info_config_xe_hp_sdv.cpp b/shared/source/xe_hp_core/linux/hw_info_config_xe_hp_sdv.cpp index 4c1ff5bf96..59391afe9f 100644 --- a/shared/source/xe_hp_core/linux/hw_info_config_xe_hp_sdv.cpp +++ b/shared/source/xe_hp_core/linux/hw_info_config_xe_hp_sdv.cpp @@ -55,7 +55,7 @@ int ProductHelperHw::configureHardwareCustom(HardwareInfo *hwInfo, O } template <> -bool ProductHelperHw::getHostMemCapabilitiesSupported(const HardwareInfo *hwInfo) { +bool ProductHelperHw::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::getHostMemCapabilitiesSupported(const Hardware } template <> -uint64_t ProductHelperHw::getHostMemCapabilitiesValue() { +uint64_t ProductHelperHw::getHostMemCapabilitiesValue() const { return UNIFIED_SHARED_MEMORY_ACCESS; } template <> -void ProductHelperHw::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) { +void ProductHelperHw::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) const { *fp16 = 0u; *fp32 = FP_ATOMIC_EXT_FLAG_GLOBAL_ADD; *fp64 = 0u; diff --git a/shared/source/xe_hp_core/windows/hw_info_config_xe_hp_sdv.cpp b/shared/source/xe_hp_core/windows/hw_info_config_xe_hp_sdv.cpp index a38787b9b2..16c7964fa8 100644 --- a/shared/source/xe_hp_core/windows/hw_info_config_xe_hp_sdv.cpp +++ b/shared/source/xe_hp_core/windows/hw_info_config_xe_hp_sdv.cpp @@ -33,7 +33,7 @@ int ProductHelperHw::configureHardwareCustom(HardwareInfo *hwInfo, O } template <> -bool ProductHelperHw::getHostMemCapabilitiesSupported(const HardwareInfo *hwInfo) { +bool ProductHelperHw::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::getHostMemCapabilitiesSupported(const Hardware } template <> -void ProductHelperHw::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) { +void ProductHelperHw::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) const { *fp16 = 0u; *fp32 = FP_ATOMIC_EXT_FLAG_GLOBAL_ADD; *fp64 = 0u; diff --git a/shared/source/xe_hpc_core/os_agnostic_hw_info_config_xe_hpc_core.inl b/shared/source/xe_hpc_core/os_agnostic_hw_info_config_xe_hpc_core.inl index c504cbdaef..de09d8a25a 100644 --- a/shared/source/xe_hpc_core/os_agnostic_hw_info_config_xe_hpc_core.inl +++ b/shared/source/xe_hpc_core/os_agnostic_hw_info_config_xe_hpc_core.inl @@ -54,7 +54,7 @@ void ProductHelperHw::adjustSamplerState(void *sampler, const Hardwa } template <> -void ProductHelperHw::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) { +void ProductHelperHw::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); diff --git a/shared/source/xe_hpg_core/os_agnostic_hw_info_config_xe_hpg_core.inl b/shared/source/xe_hpg_core/os_agnostic_hw_info_config_xe_hpg_core.inl index 5509ba14f7..3526bbc2f9 100644 --- a/shared/source/xe_hpg_core/os_agnostic_hw_info_config_xe_hpg_core.inl +++ b/shared/source/xe_hpg_core/os_agnostic_hw_info_config_xe_hpg_core.inl @@ -7,7 +7,7 @@ namespace NEO { template <> -void ProductHelperHw::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) { +void ProductHelperHw::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) const { *fp16 = 0u; *fp32 = FP_ATOMIC_EXT_FLAG_GLOBAL_ADD; *fp64 = 0u; diff --git a/shared/test/common/helpers/mock_hw_info_config_hw.h b/shared/test/common/helpers/mock_hw_info_config_hw.h index 104259228a..14f8b7d87e 100644 --- a/shared/test/common/helpers/mock_hw_info_config_hw.h +++ b/shared/test/common/helpers/mock_hw_info_config_hw.h @@ -13,7 +13,7 @@ namespace NEO { template struct MockProductHelperHw : NEO::ProductHelperHw { using ProductHelper::getDefaultLocalMemoryAccessMode; - std::vector getKernelSupportedThreadArbitrationPolicies() override; + std::vector getKernelSupportedThreadArbitrationPolicies() const override; bool isCooperativeEngineSupported(const HardwareInfo &hwInfo) const override; bool getUuid(Device *device, std::array &uuid) const override; uint32_t getSteppingFromHwRevId(const HardwareInfo &hwInfo) const override; diff --git a/shared/test/common/helpers/mock_hw_info_config_hw.inl b/shared/test/common/helpers/mock_hw_info_config_hw.inl index 18967acdef..99add07bab 100644 --- a/shared/test/common/helpers/mock_hw_info_config_hw.inl +++ b/shared/test/common/helpers/mock_hw_info_config_hw.inl @@ -6,7 +6,7 @@ */ template <> -std::vector MockProductHelperHw::getKernelSupportedThreadArbitrationPolicies() { +std::vector MockProductHelperHw::getKernelSupportedThreadArbitrationPolicies() const { return threadArbPolicies; } template <> diff --git a/shared/test/common/mocks/mock_hw_info_config.cpp b/shared/test/common/mocks/mock_hw_info_config.cpp index 0cb5eb19f3..9652080828 100644 --- a/shared/test/common/mocks/mock_hw_info_config.cpp +++ b/shared/test/common/mocks/mock_hw_info_config.cpp @@ -38,32 +38,32 @@ void ProductHelperHw::adjustPlatformForProductFamily(HardwareInfo } template <> -uint64_t ProductHelperHw::getHostMemCapabilities(const HardwareInfo *hwInfo) { +uint64_t ProductHelperHw::getHostMemCapabilities(const HardwareInfo *hwInfo) const { return 0; } template <> -uint64_t ProductHelperHw::getDeviceMemCapabilities() { +uint64_t ProductHelperHw::getDeviceMemCapabilities() const { return 0; } template <> -uint64_t ProductHelperHw::getSingleDeviceSharedMemCapabilities() { +uint64_t ProductHelperHw::getSingleDeviceSharedMemCapabilities() const { return 0; } template <> -uint64_t ProductHelperHw::getCrossDeviceSharedMemCapabilities() { +uint64_t ProductHelperHw::getCrossDeviceSharedMemCapabilities() const { return 0; } template <> -uint64_t ProductHelperHw::getSharedSystemMemCapabilities(const HardwareInfo *hwInfo) { +uint64_t ProductHelperHw::getSharedSystemMemCapabilities(const HardwareInfo *hwInfo) const { return 0; } template <> -void ProductHelperHw::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) { +void ProductHelperHw::getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) const { } template <> @@ -185,7 +185,7 @@ LocalMemoryAccessMode ProductHelperHw::getLocalMemoryAccessMode(co } template <> -std::vector ProductHelperHw::getKernelSupportedThreadArbitrationPolicies() { +std::vector ProductHelperHw::getKernelSupportedThreadArbitrationPolicies() const { return {}; } @@ -366,7 +366,7 @@ bool ProductHelperHw::isTimestampWaitSupportedForEvents() const { } template <> -uint64_t ProductHelperHw::getHostMemCapabilitiesValue() { +uint64_t ProductHelperHw::getHostMemCapabilitiesValue() const { return 0; }