mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-21 01:04:57 +08:00
Improve engine helper methods
Change-Id: Iac614c3da23119f2000a21e720d5144da0459528 Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
This commit is contained in:
committed by
sys_ocldev
parent
26d30b18fe
commit
7b4d6fc278
@@ -1,14 +1,14 @@
|
||||
/*
|
||||
* Copyright (C) 2019 Intel Corporation
|
||||
* Copyright (C) 2019-2020 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include "engine_node.h"
|
||||
#include "core/helpers/engine_node_helper.h"
|
||||
|
||||
namespace NEO {
|
||||
|
||||
namespace EngineHelpers {
|
||||
bool isCcs(aub_stream::EngineType engineType) {
|
||||
return engineType == aub_stream::ENGINE_CCS;
|
||||
}
|
||||
@@ -16,5 +16,5 @@ bool isCcs(aub_stream::EngineType engineType) {
|
||||
bool isBcs(aub_stream::EngineType engineType) {
|
||||
return engineType == aub_stream::ENGINE_BCS;
|
||||
}
|
||||
|
||||
} // namespace EngineHelpers
|
||||
} // namespace NEO
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2019 Intel Corporation
|
||||
* Copyright (C) 2019-2020 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -10,8 +10,8 @@
|
||||
#include "engine_node.h"
|
||||
|
||||
namespace NEO {
|
||||
|
||||
namespace EngineHelpers {
|
||||
bool isCcs(aub_stream::EngineType engineType);
|
||||
bool isBcs(aub_stream::EngineType engineType);
|
||||
|
||||
}; // namespace EngineHelpers
|
||||
} // namespace NEO
|
||||
|
||||
@@ -292,7 +292,7 @@ bool CommandQueue::setPerfCountersEnabled() {
|
||||
DEBUG_BREAK_IF(device == nullptr);
|
||||
|
||||
auto perfCounters = device->getPerformanceCounters();
|
||||
bool isCcsEngine = isCcs(getGpgpuEngine().osContext->getEngineType());
|
||||
bool isCcsEngine = EngineHelpers::isCcs(getGpgpuEngine().osContext->getEngineType());
|
||||
|
||||
perfCountersEnabled = perfCounters->enable(isCcsEngine);
|
||||
|
||||
|
||||
@@ -532,7 +532,7 @@ void CommandQueueHw<GfxFamily>::processDeviceEnqueue(DeviceQueueHw<GfxFamily> *d
|
||||
bool &blocking) {
|
||||
auto parentKernel = multiDispatchInfo.peekParentKernel();
|
||||
size_t minSizeSSHForEM = HardwareCommandsHelper<GfxFamily>::getSshSizeForExecutionModel(*parentKernel);
|
||||
bool isCcsUsed = isCcs(gpgpuEngine->osContext->getEngineType());
|
||||
bool isCcsUsed = EngineHelpers::isCcs(gpgpuEngine->osContext->getEngineType());
|
||||
|
||||
uint32_t taskCount = getGpgpuCommandStreamReceiver().peekTaskCount() + 1;
|
||||
devQueueHw->setupExecutionModelDispatch(getIndirectHeap(IndirectHeap::SURFACE_STATE, minSizeSSHForEM),
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2017-2019 Intel Corporation
|
||||
* Copyright (C) 2017-2020 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -159,7 +159,7 @@ void GpgpuWalkerHelper<GfxFamily>::dispatchPerfCountersCommandsStart(
|
||||
LinearStream *commandStream) {
|
||||
|
||||
const auto pPerformanceCounters = commandQueue.getPerfCounters();
|
||||
const auto commandBufferType = isCcs(commandQueue.getDevice().getDefaultEngine().osContext->getEngineType())
|
||||
const auto commandBufferType = EngineHelpers::isCcs(commandQueue.getDevice().getDefaultEngine().osContext->getEngineType())
|
||||
? MetricsLibraryApi::GpuCommandBufferType::Compute
|
||||
: MetricsLibraryApi::GpuCommandBufferType::Render;
|
||||
const uint32_t size = pPerformanceCounters->getGpuCommandsSize(commandBufferType, true);
|
||||
@@ -175,7 +175,7 @@ void GpgpuWalkerHelper<GfxFamily>::dispatchPerfCountersCommandsEnd(
|
||||
LinearStream *commandStream) {
|
||||
|
||||
const auto pPerformanceCounters = commandQueue.getPerfCounters();
|
||||
const auto commandBufferType = isCcs(commandQueue.getDevice().getDefaultEngine().osContext->getEngineType())
|
||||
const auto commandBufferType = EngineHelpers::isCcs(commandQueue.getDevice().getDefaultEngine().osContext->getEngineType())
|
||||
? MetricsLibraryApi::GpuCommandBufferType::Compute
|
||||
: MetricsLibraryApi::GpuCommandBufferType::Render;
|
||||
const uint32_t size = pPerformanceCounters->getGpuCommandsSize(commandBufferType, false);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2018-2019 Intel Corporation
|
||||
* Copyright (C) 2018-2020 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -194,7 +194,7 @@ size_t EnqueueOperation<GfxFamily>::getSizeRequiredCSKernel(bool reserveProfilin
|
||||
}
|
||||
if (reservePerfCounters) {
|
||||
|
||||
const auto commandBufferType = isCcs(commandQueue.getDevice().getDefaultEngine().osContext->getEngineType())
|
||||
const auto commandBufferType = EngineHelpers::isCcs(commandQueue.getDevice().getDefaultEngine().osContext->getEngineType())
|
||||
? MetricsLibraryApi::GpuCommandBufferType::Compute
|
||||
: MetricsLibraryApi::GpuCommandBufferType::Render;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2018-2019 Intel Corporation
|
||||
* Copyright (C) 2018-2020 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -114,7 +114,7 @@ inline void HardwareInterface<GfxFamily>::programWalker(
|
||||
GpgpuWalkerHelper<GfxFamily>::setupTimestampPacket(&commandStream, walkerCmd, timestampPacketNode, TimestampPacketStorage::WriteOperationType::AfterWalker, commandQueue.getDevice().getHardwareInfo());
|
||||
}
|
||||
|
||||
auto isCcsUsed = isCcs(commandQueue.getGpgpuEngine().osContext->getEngineType());
|
||||
auto isCcsUsed = EngineHelpers::isCcs(commandQueue.getGpgpuEngine().osContext->getEngineType());
|
||||
|
||||
HardwareCommandsHelper<GfxFamily>::sendIndirectState(
|
||||
commandStream,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2019 Intel Corporation
|
||||
* Copyright (C) 2019-2020 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -729,7 +729,7 @@ void AUBCommandStreamReceiverHw<GfxFamily>::processResidency(const ResidencyCont
|
||||
|
||||
template <typename GfxFamily>
|
||||
void AUBCommandStreamReceiverHw<GfxFamily>::dumpAllocation(GraphicsAllocation &gfxAllocation) {
|
||||
if (isBcs(this->osContext->getEngineType())) {
|
||||
if (EngineHelpers::isBcs(this->osContext->getEngineType())) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2017-2019 Intel Corporation
|
||||
* Copyright (C) 2017-2020 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -130,7 +130,7 @@ CompletionStamp &CommandComputeKernel::submit(uint32_t taskLevel, bool terminate
|
||||
auto devQueue = commandQueue.getContext().getDefaultDeviceQueue();
|
||||
|
||||
auto commandStreamReceiverOwnership = commandStreamReceiver.obtainUniqueOwnership();
|
||||
bool isCcsUsed = isCcs(commandQueue.getGpgpuEngine().osContext->getEngineType());
|
||||
bool isCcsUsed = EngineHelpers::isCcs(commandQueue.getGpgpuEngine().osContext->getEngineType());
|
||||
|
||||
if (executionModelKernel) {
|
||||
while (!devQueue->isEMCriticalSectionFree())
|
||||
|
||||
@@ -62,7 +62,7 @@ HWCMDTEST_P(IGFX_GEN8_CORE, ParentKernelEnqueueTest, givenParentKernelWhenEnqueu
|
||||
|
||||
auto graphicsAllocation = pKernel->getKernelInfo().getGraphicsAllocation();
|
||||
auto kernelIsaAddress = graphicsAllocation->getGpuAddressToPatch();
|
||||
if (isCcs(pCmdQ->getGpgpuEngine().osContext->getEngineType()) && HwHelperHw<FamilyType>::isOffsetToSkipSetFFIDGPWARequired(pKernel->getDevice().getHardwareInfo())) {
|
||||
if (EngineHelpers::isCcs(pCmdQ->getGpgpuEngine().osContext->getEngineType()) && HwHelperHw<FamilyType>::isOffsetToSkipSetFFIDGPWARequired(pKernel->getDevice().getHardwareInfo())) {
|
||||
kernelIsaAddress += pKernel->getKernelInfo().patchInfo.threadPayload->OffsetToSkipSetFFIDGP;
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@ HWCMDTEST_P(IGFX_GEN8_CORE, ParentKernelEnqueueTest, givenParentKernelWhenEnqueu
|
||||
|
||||
uint64_t blockKernelAddress = ((uint64_t)idData[blockFirstIndex + i].getKernelStartPointerHigh() << 32) | (uint64_t)idData[blockFirstIndex + i].getKernelStartPointer();
|
||||
uint64_t expectedBlockKernelAddress = pBlockInfo->getGraphicsAllocation()->getGpuAddressToPatch();
|
||||
if (isCcs(pCmdQ->getGpgpuEngine().osContext->getEngineType()) && HwHelperHw<FamilyType>::isOffsetToSkipSetFFIDGPWARequired(pKernel->getDevice().getHardwareInfo())) {
|
||||
if (EngineHelpers::isCcs(pCmdQ->getGpgpuEngine().osContext->getEngineType()) && HwHelperHw<FamilyType>::isOffsetToSkipSetFFIDGPWARequired(pKernel->getDevice().getHardwareInfo())) {
|
||||
expectedBlockKernelAddress += pBlockInfo->patchInfo.threadPayload->OffsetToSkipSetFFIDGP;
|
||||
}
|
||||
|
||||
|
||||
@@ -324,7 +324,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, HardwareCommandsTest, sendIndirectStateResourceUsage
|
||||
IDToffset,
|
||||
sizeof(INTERFACE_DESCRIPTOR_DATA));
|
||||
uint32_t interfaceDescriptorIndex = 0;
|
||||
auto isCcsUsed = isCcs(cmdQ.getGpgpuEngine().osContext->getEngineType());
|
||||
auto isCcsUsed = EngineHelpers::isCcs(cmdQ.getGpgpuEngine().osContext->getEngineType());
|
||||
|
||||
HardwareCommandsHelper<FamilyType>::sendIndirectState(
|
||||
commandStream,
|
||||
@@ -377,7 +377,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, HardwareCommandsTest, givenKernelWithFourBindingTabl
|
||||
const size_t localWorkSize = 256;
|
||||
const size_t localWorkSizes[3]{localWorkSize, 1, 1};
|
||||
uint32_t interfaceDescriptorIndex = 0;
|
||||
auto isCcsUsed = isCcs(cmdQ.getGpgpuEngine().osContext->getEngineType());
|
||||
auto isCcsUsed = EngineHelpers::isCcs(cmdQ.getGpgpuEngine().osContext->getEngineType());
|
||||
HardwareCommandsHelper<FamilyType>::sendIndirectState(
|
||||
commandStream,
|
||||
dsh,
|
||||
@@ -422,7 +422,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, HardwareCommandsTest, givenKernelThatIsSchedulerWhen
|
||||
const size_t localWorkSize = 256;
|
||||
const size_t localWorkSizes[3]{localWorkSize, 1, 1};
|
||||
uint32_t interfaceDescriptorIndex = 0;
|
||||
auto isCcsUsed = isCcs(cmdQ.getGpgpuEngine().osContext->getEngineType());
|
||||
auto isCcsUsed = EngineHelpers::isCcs(cmdQ.getGpgpuEngine().osContext->getEngineType());
|
||||
HardwareCommandsHelper<FamilyType>::sendIndirectState(
|
||||
commandStream,
|
||||
dsh,
|
||||
@@ -461,7 +461,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, HardwareCommandsTest, givenKernelWith100BindingTable
|
||||
const size_t localWorkSize = 256;
|
||||
const size_t localWorkSizes[3]{localWorkSize, 1, 1};
|
||||
uint32_t interfaceDescriptorIndex = 0;
|
||||
auto isCcsUsed = isCcs(cmdQ.getGpgpuEngine().osContext->getEngineType());
|
||||
auto isCcsUsed = EngineHelpers::isCcs(cmdQ.getGpgpuEngine().osContext->getEngineType());
|
||||
HardwareCommandsHelper<FamilyType>::sendIndirectState(
|
||||
commandStream,
|
||||
dsh,
|
||||
@@ -535,7 +535,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, HardwareCommandsTest, whenSendingIndirectStateThenKe
|
||||
modifiedKernelInfo.workgroupDimensionsOrder[2] = 0;
|
||||
MockKernel mockKernel{kernel->getProgram(), modifiedKernelInfo, kernel->getDevice(), false};
|
||||
uint32_t interfaceDescriptorIndex = 0;
|
||||
auto isCcsUsed = isCcs(cmdQ.getGpgpuEngine().osContext->getEngineType());
|
||||
auto isCcsUsed = EngineHelpers::isCcs(cmdQ.getGpgpuEngine().osContext->getEngineType());
|
||||
HardwareCommandsHelper<FamilyType>::sendIndirectState(
|
||||
commandStream,
|
||||
dsh,
|
||||
@@ -617,7 +617,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, HardwareCommandsTest, usedBindingTableStatePointer)
|
||||
// force statefull path for buffers
|
||||
const_cast<KernelInfo &>(kernelInfo).requiresSshForBuffers = true;
|
||||
uint32_t interfaceDescriptorIndex = 0;
|
||||
auto isCcsUsed = isCcs(cmdQ.getGpgpuEngine().osContext->getEngineType());
|
||||
auto isCcsUsed = EngineHelpers::isCcs(cmdQ.getGpgpuEngine().osContext->getEngineType());
|
||||
HardwareCommandsHelper<FamilyType>::sendIndirectState(
|
||||
commandStream,
|
||||
dsh,
|
||||
@@ -779,7 +779,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, HardwareCommandsTest, usedBindingTableStatePointersF
|
||||
|
||||
// push surfaces states and binding table to given ssh heap
|
||||
uint32_t interfaceDescriptorIndex = 0;
|
||||
auto isCcsUsed = isCcs(cmdQ.getGpgpuEngine().osContext->getEngineType());
|
||||
auto isCcsUsed = EngineHelpers::isCcs(cmdQ.getGpgpuEngine().osContext->getEngineType());
|
||||
HardwareCommandsHelper<FamilyType>::sendIndirectState(
|
||||
commandStream,
|
||||
dsh,
|
||||
@@ -1059,7 +1059,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, HardwareCommandsTest, GivenKernelWithSamplersWhenInd
|
||||
mockKernelWithInternal->mockKernel->setCrossThreadData(mockKernelWithInternal->crossThreadData, sizeof(mockKernelWithInternal->crossThreadData));
|
||||
mockKernelWithInternal->mockKernel->setSshLocal(mockKernelWithInternal->sshLocal, sizeof(mockKernelWithInternal->sshLocal));
|
||||
uint32_t interfaceDescriptorIndex = 0;
|
||||
auto isCcsUsed = isCcs(cmdQ.getGpgpuEngine().osContext->getEngineType());
|
||||
auto isCcsUsed = EngineHelpers::isCcs(cmdQ.getGpgpuEngine().osContext->getEngineType());
|
||||
HardwareCommandsHelper<FamilyType>::sendIndirectState(
|
||||
commandStream,
|
||||
dsh,
|
||||
|
||||
Reference in New Issue
Block a user