mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-10 12:53:42 +08:00
Move ClCoreHelper ownership to RootDeviceEnvironment 3/n
Related-To: NEO-6853 Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com> Use RootDeviceEnvironment getHelper<ClCoreHelper> for - getQueueFamilyName - getKernelPrivateMemSize - preferBlitterForLocalToLocalTransfers
This commit is contained in:

committed by
Compute-Runtime-Automation

parent
5f8cc9b99b
commit
9564af14f5
@ -238,8 +238,8 @@ cl_command_queue_capabilities_intel ClDevice::getQueueFamilyCapabilities(EngineG
|
||||
void ClDevice::getQueueFamilyName(char *outputName, EngineGroupType type) {
|
||||
std::string name{};
|
||||
|
||||
const auto &clHwHelper = ClHwHelper::get(getHardwareInfo().platform.eRenderCoreFamily);
|
||||
const bool hasHwSpecificName = clHwHelper.getQueueFamilyName(name, type);
|
||||
const auto &clCoreHelper = this->getRootDeviceEnvironment().getHelper<ClCoreHelper>();
|
||||
const bool hasHwSpecificName = clCoreHelper.getQueueFamilyName(name, type);
|
||||
|
||||
if (!hasHwSpecificName) {
|
||||
switch (type) {
|
||||
|
@ -246,8 +246,8 @@ CommandStreamReceiver &CommandQueue::selectCsrForBuiltinOperation(const CsrSelec
|
||||
aub_stream::EngineType preferredBcsEngineType = aub_stream::EngineType::NUM_ENGINES;
|
||||
switch (args.direction) {
|
||||
case TransferDirection::LocalToLocal: {
|
||||
const auto &clHwHelper = ClHwHelper::get(device->getHardwareInfo().platform.eRenderCoreFamily);
|
||||
preferBcs = clHwHelper.preferBlitterForLocalToLocalTransfers();
|
||||
const auto &clCoreHelper = device->getRootDeviceEnvironment().getHelper<ClCoreHelper>();
|
||||
preferBcs = clCoreHelper.preferBlitterForLocalToLocalTransfers();
|
||||
if (auto flag = DebugManager.flags.PreferCopyEngineForCopyBufferToBuffer.get(); flag != -1) {
|
||||
preferBcs = static_cast<bool>(flag);
|
||||
}
|
||||
|
@ -8,13 +8,22 @@
|
||||
#include "opencl/extensions/public/cl_ext_private.h"
|
||||
|
||||
template <>
|
||||
inline bool ClHwHelperHw<Family>::preferBlitterForLocalToLocalTransfers() const {
|
||||
return false;
|
||||
std::vector<uint32_t> ClHwHelperHw<Family>::getSupportedThreadArbitrationPolicies() const {
|
||||
return std::vector<uint32_t>{CL_KERNEL_EXEC_INFO_THREAD_ARBITRATION_POLICY_OLDEST_FIRST_INTEL, CL_KERNEL_EXEC_INFO_THREAD_ARBITRATION_POLICY_ROUND_ROBIN_INTEL, CL_KERNEL_EXEC_INFO_THREAD_ARBITRATION_POLICY_AFTER_DEPENDENCY_ROUND_ROBIN_INTEL, CL_KERNEL_EXEC_INFO_THREAD_ARBITRATION_POLICY_STALL_BASED_ROUND_ROBIN_INTEL};
|
||||
}
|
||||
|
||||
template <>
|
||||
std::vector<uint32_t> ClHwHelperHw<Family>::getSupportedThreadArbitrationPolicies() const {
|
||||
return std::vector<uint32_t>{CL_KERNEL_EXEC_INFO_THREAD_ARBITRATION_POLICY_OLDEST_FIRST_INTEL, CL_KERNEL_EXEC_INFO_THREAD_ARBITRATION_POLICY_ROUND_ROBIN_INTEL, CL_KERNEL_EXEC_INFO_THREAD_ARBITRATION_POLICY_AFTER_DEPENDENCY_ROUND_ROBIN_INTEL, CL_KERNEL_EXEC_INFO_THREAD_ARBITRATION_POLICY_STALL_BASED_ROUND_ROBIN_INTEL};
|
||||
inline bool ClHwHelperHw<Family>::getQueueFamilyName(std::string &name, EngineGroupType type) const {
|
||||
switch (type) {
|
||||
case EngineGroupType::RenderCompute:
|
||||
name = "cccs";
|
||||
return true;
|
||||
case EngineGroupType::LinkedCopy:
|
||||
name = "linked bcs";
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
template <>
|
||||
|
@ -551,7 +551,7 @@ cl_int Kernel::getWorkGroupInfo(cl_kernel_work_group_info paramName,
|
||||
size_t maxWorkgroupSize;
|
||||
const auto &hwInfo = clDevice.getHardwareInfo();
|
||||
auto &hwHelper = HwHelper::get(hwInfo.platform.eRenderCoreFamily);
|
||||
auto &clHwHelper = ClHwHelper::get(hwInfo.platform.eRenderCoreFamily);
|
||||
auto &clCoreHelper = clDevice.getRootDeviceEnvironment().getHelper<ClCoreHelper>();
|
||||
GetInfoHelper info(paramValue, paramValueSize, paramValueSizeRet);
|
||||
|
||||
switch (paramName) {
|
||||
@ -594,7 +594,7 @@ cl_int Kernel::getWorkGroupInfo(cl_kernel_work_group_info paramName,
|
||||
pSrc = &scratchSize;
|
||||
break;
|
||||
case CL_KERNEL_PRIVATE_MEM_SIZE:
|
||||
privateMemSize = clHwHelper.getKernelPrivateMemSize(kernelInfo);
|
||||
privateMemSize = clCoreHelper.getKernelPrivateMemSize(kernelInfo);
|
||||
srcSize = sizeof(privateMemSize);
|
||||
pSrc = &privateMemSize;
|
||||
break;
|
||||
|
@ -29,20 +29,6 @@ bool ClHwHelperHw<Family>::requiresAuxResolves(const KernelInfo &kernelInfo, con
|
||||
return false;
|
||||
}
|
||||
|
||||
template <>
|
||||
inline bool ClHwHelperHw<Family>::getQueueFamilyName(std::string &name, EngineGroupType type) const {
|
||||
switch (type) {
|
||||
case EngineGroupType::RenderCompute:
|
||||
name = "cccs";
|
||||
return true;
|
||||
case EngineGroupType::LinkedCopy:
|
||||
name = "linked bcs";
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
template <>
|
||||
cl_version ClHwHelperHw<Family>::getDeviceIpVersion(const HardwareInfo &hwInfo) const {
|
||||
return makeDeviceIpVersion(12, 8, makeDeviceRevision(hwInfo));
|
||||
|
@ -1817,7 +1817,8 @@ TEST_F(CsrSelectionCommandQueueWithBlitterTests, givenBlitterPresentAndLocalToLo
|
||||
DebugManagerStateRestore restore{};
|
||||
DebugManager.flags.EnableBlitterForEnqueueOperations.set(1);
|
||||
|
||||
const bool hwPreference = ClHwHelper::get(::defaultHwInfo->platform.eRenderCoreFamily).preferBlitterForLocalToLocalTransfers();
|
||||
auto &clCoreHelper = clDevice->getRootDeviceEnvironment().getHelper<ClCoreHelper>();
|
||||
const bool hwPreference = clCoreHelper.preferBlitterForLocalToLocalTransfers();
|
||||
const auto &hwPreferenceCsr = hwPreference ? *queue->getBcsCommandStreamReceiver(aub_stream::ENGINE_BCS) : queue->getGpgpuCommandStreamReceiver();
|
||||
|
||||
BuiltinOpParams builtinOpParams{};
|
||||
|
@ -1324,7 +1324,9 @@ HWTEST_TEMPLATED_F(BcsBufferTests, givenDebugFlagSetToOneWhenEnqueueingCopyLocal
|
||||
MockBuffer dstMemObj{dstGraphicsAllocation};
|
||||
srcGraphicsAllocation.memoryPool = MemoryPool::LocalMemory;
|
||||
dstGraphicsAllocation.memoryPool = MemoryPool::LocalMemory;
|
||||
const bool preferBlitterHw = ClHwHelper::get(::defaultHwInfo->platform.eRenderCoreFamily).preferBlitterForLocalToLocalTransfers();
|
||||
|
||||
auto &clCoreHelper = this->device->getRootDeviceEnvironment().getHelper<ClCoreHelper>();
|
||||
const bool preferBlitterHw = clCoreHelper.preferBlitterForLocalToLocalTransfers();
|
||||
uint32_t expectedBlitBufferCalled = 0;
|
||||
|
||||
DebugManager.flags.PreferCopyEngineForCopyBufferToBuffer.set(-1);
|
||||
|
@ -24,15 +24,23 @@
|
||||
|
||||
#include "hw_cmds_xe_hpc_core_base.h"
|
||||
|
||||
using HwHelperTestsXeHpcCore = Test<ClDeviceFixture>;
|
||||
using ClHwHelperTestsXeHpcCore = Test<ClDeviceFixture>;
|
||||
;
|
||||
|
||||
XE_HPC_CORETEST_F(HwHelperTestsXeHpcCore, givenXeHpcThenAuxTranslationIsNotRequired) {
|
||||
XE_HPC_CORETEST_F(ClHwHelperTestsXeHpcCore, givenXeHpcThenAuxTranslationIsNotRequired) {
|
||||
auto &clCoreHelper = getHelper<ClCoreHelper>();
|
||||
KernelInfo kernelInfo{};
|
||||
|
||||
EXPECT_FALSE(clCoreHelper.requiresAuxResolves(kernelInfo, getRootDeviceEnvironment()));
|
||||
}
|
||||
|
||||
XE_HPC_CORETEST_F(ClHwHelperTestsXeHpcCore, WhenCheckingPreferenceForBlitterForLocalToLocalTransfersThenReturnFalse) {
|
||||
auto &clCoreHelper = getHelper<ClCoreHelper>();
|
||||
EXPECT_FALSE(clCoreHelper.preferBlitterForLocalToLocalTransfers());
|
||||
}
|
||||
|
||||
using HwHelperTestsXeHpcCore = Test<ClDeviceFixture>;
|
||||
|
||||
XE_HPC_CORETEST_F(HwHelperTestsXeHpcCore, givenHwHelperwhenAskingForDcFlushThenReturnFalse) {
|
||||
EXPECT_FALSE(MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, *defaultHwInfo));
|
||||
}
|
||||
@ -717,10 +725,6 @@ XE_HPC_CORETEST_F(HwHelperTestsXeHpcCore, WhenCheckingSipWAThenFalseIsReturned)
|
||||
EXPECT_FALSE(HwHelper::get(renderCoreFamily).isSipWANeeded(*defaultHwInfo));
|
||||
}
|
||||
|
||||
XE_HPC_CORETEST_F(HwHelperTestsXeHpcCore, WhenCheckingPreferenceForBlitterForLocalToLocalTransfersThenReturnFalse) {
|
||||
EXPECT_FALSE(ClHwHelper::get(renderCoreFamily).preferBlitterForLocalToLocalTransfers());
|
||||
}
|
||||
|
||||
XE_HPC_CORETEST_F(HwHelperTestsXeHpcCore, givenBdA0WhenBcsSubDeviceSupportIsCheckedThenReturnFalse) {
|
||||
DebugManagerStateRestore restore;
|
||||
|
||||
|
Reference in New Issue
Block a user