Skip to content

Commit 45ae4fe

Browse files
Remove device enqueue part 3
- isSchedulerKernel Related-To: NEO-6559 Signed-off-by: Katarzyna Cencelewska <[email protected]>
1 parent af7cb3f commit 45ae4fe

18 files changed

+63
-154
lines changed

level_zero/core/source/cmdlist/cmdlist.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2020-2021 Intel Corporation
2+
* Copyright (C) 2020-2022 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -132,7 +132,7 @@ bool CommandList::isCopyOnly() const {
132132
}
133133

134134
NEO::PreemptionMode CommandList::obtainFunctionPreemptionMode(Kernel *kernel) {
135-
NEO::PreemptionFlags flags = NEO::PreemptionHelper::createPreemptionLevelFlags(*device->getNEODevice(), &kernel->getImmutableData()->getDescriptor(), false);
135+
NEO::PreemptionFlags flags = NEO::PreemptionHelper::createPreemptionLevelFlags(*device->getNEODevice(), &kernel->getImmutableData()->getDescriptor());
136136
return NEO::PreemptionHelper::taskPreemptionMode(device->getDevicePreemptionMode(), flags);
137137
}
138138

opencl/source/helpers/cl_preemption_helper.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2021 Intel Corporation
2+
* Copyright (C) 2021-2022 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -18,13 +18,11 @@ PreemptionMode ClPreemptionHelper::taskPreemptionMode(Device &device, const Mult
1818
auto kernel = di.getKernel();
1919

2020
const KernelDescriptor *kernelDescriptor = nullptr;
21-
bool schedulerKernel = false;
2221
if (kernel != nullptr) {
2322
kernelDescriptor = &kernel->getDescriptor();
24-
schedulerKernel = kernel->isSchedulerKernel;
2523
}
2624

27-
PreemptionFlags flags = PreemptionHelper::createPreemptionLevelFlags(device, kernelDescriptor, schedulerKernel);
25+
PreemptionFlags flags = PreemptionHelper::createPreemptionLevelFlags(device, kernelDescriptor);
2826
PreemptionMode taskMode = PreemptionHelper::taskPreemptionMode(devMode, flags);
2927
if (devMode > taskMode) {
3028
devMode = taskMode;

opencl/source/helpers/hardware_commands_helper.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2019-2021 Intel Corporation
2+
* Copyright (C) 2019-2022 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -112,7 +112,7 @@ struct HardwareCommandsHelper : public PerThreadDataHelper {
112112
size_t &sizePerThreadDataTotal,
113113
size_t &localWorkItems);
114114

115-
inline static bool resetBindingTablePrefetch(Kernel &kernel);
115+
inline static bool resetBindingTablePrefetch();
116116

117117
static size_t getSizeRequiredCS();
118118
static size_t getSizeRequiredForCacheFlush(const CommandQueue &commandQueue, const Kernel *kernel, uint64_t postSyncAddress);

opencl/source/helpers/hardware_commands_helper_base.inl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2019-2021 Intel Corporation
2+
* Copyright (C) 2019-2022 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -292,7 +292,7 @@ size_t HardwareCommandsHelper<GfxFamily>::sendIndirectState(
292292
uint64_t offsetInterfaceDescriptor = offsetInterfaceDescriptorTable + interfaceDescriptorIndex * sizeof(INTERFACE_DESCRIPTOR_DATA);
293293

294294
auto bindingTablePrefetchSize = std::min(31u, static_cast<uint32_t>(kernel.getNumberOfBindingTableStates()));
295-
if (resetBindingTablePrefetch(kernel)) {
295+
if (resetBindingTablePrefetch()) {
296296
bindingTablePrefetchSize = 0;
297297
}
298298

opencl/source/helpers/hardware_commands_helper_bdw_and_later.inl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2020-2021 Intel Corporation
2+
* Copyright (C) 2020-2022 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -150,8 +150,8 @@ size_t HardwareCommandsHelper<GfxFamily>::sendCrossThreadData(
150150
}
151151

152152
template <typename GfxFamily>
153-
bool HardwareCommandsHelper<GfxFamily>::resetBindingTablePrefetch(Kernel &kernel) {
154-
return kernel.isSchedulerKernel || !EncodeSurfaceState<GfxFamily>::doBindingTablePrefetch();
153+
bool HardwareCommandsHelper<GfxFamily>::resetBindingTablePrefetch() {
154+
return !EncodeSurfaceState<GfxFamily>::doBindingTablePrefetch();
155155
}
156156

157157
template <typename GfxFamily>

opencl/source/helpers/hardware_commands_helper_xehp_and_later.inl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2021 Intel Corporation
2+
* Copyright (C) 2021-2022 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -132,8 +132,8 @@ size_t HardwareCommandsHelper<GfxFamily>::sendCrossThreadData(
132132
}
133133

134134
template <typename GfxFamily>
135-
bool HardwareCommandsHelper<GfxFamily>::resetBindingTablePrefetch(Kernel &kernel) {
136-
return kernel.isSchedulerKernel;
135+
bool HardwareCommandsHelper<GfxFamily>::resetBindingTablePrefetch() {
136+
return false;
137137
}
138138

139139
template <typename GfxFamily>

opencl/source/kernel/kernel.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,8 @@ class Surface;
6767

6868
uint32_t Kernel::dummyPatchLocation = 0xbaddf00d;
6969

70-
Kernel::Kernel(Program *programArg, const KernelInfo &kernelInfoArg, ClDevice &clDeviceArg, bool schedulerKernel)
70+
Kernel::Kernel(Program *programArg, const KernelInfo &kernelInfoArg, ClDevice &clDeviceArg)
7171
: isParentKernel(kernelInfoArg.kernelDescriptor.kernelAttributes.flags.usesDeviceSideEnqueue),
72-
isSchedulerKernel(schedulerKernel),
7372
executionEnvironment(programArg->getExecutionEnvironment()),
7473
program(programArg),
7574
clDevice(clDeviceArg),
@@ -1916,7 +1915,7 @@ void Kernel::createReflectionSurface() {
19161915
}
19171916

19181917
if (DebugManager.flags.ForceDispatchScheduler.get()) {
1919-
if (this->isSchedulerKernel && kernelReflectionSurface == nullptr) {
1918+
if (kernelReflectionSurface == nullptr) {
19201919
kernelReflectionSurface = executionEnvironment.memoryManager->allocateGraphicsMemoryWithProperties(
19211920
{pClDevice->getRootDeviceIndex(), MemoryConstants::pageSize,
19221921
GraphicsAllocation::AllocationType::DEVICE_QUEUE_BUFFER,

opencl/source/kernel/kernel.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2018-2021 Intel Corporation
2+
* Copyright (C) 2018-2022 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -325,7 +325,6 @@ class Kernel : public ReferenceTrackedObject<Kernel> {
325325

326326
bool isBuiltIn = false;
327327
const bool isParentKernel;
328-
const bool isSchedulerKernel;
329328

330329
uint32_t getThreadArbitrationPolicy() const {
331330
return threadArbitrationPolicy;
@@ -504,7 +503,7 @@ class Kernel : public ReferenceTrackedObject<Kernel> {
504503
void patchWithImplicitSurface(void *ptrToPatchInCrossThreadData, GraphicsAllocation &allocation, const ArgDescPointer &arg);
505504

506505
void getParentObjectCounts(ObjectCounts &objectCount);
507-
Kernel(Program *programArg, const KernelInfo &kernelInfo, ClDevice &clDevice, bool schedulerKernel = false);
506+
Kernel(Program *programArg, const KernelInfo &kernelInfo, ClDevice &clDevice);
508507
void provideInitializationHints();
509508

510509
void patchBlocksCurbeWithConstantValues();

opencl/source/scheduler/scheduler_kernel.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2018-2021 Intel Corporation
2+
* Copyright (C) 2018-2022 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -55,7 +55,7 @@ class SchedulerKernel : public Kernel {
5555
static BuiltinCode loadSchedulerKernel(Device *device);
5656

5757
protected:
58-
SchedulerKernel(Program *programArg, const KernelInfo &kernelInfoArg, ClDevice &clDeviceArg) : Kernel(programArg, kernelInfoArg, clDeviceArg, true) {
58+
SchedulerKernel(Program *programArg, const KernelInfo &kernelInfoArg, ClDevice &clDeviceArg) : Kernel(programArg, kernelInfoArg, clDeviceArg) {
5959
computeGws();
6060
};
6161

opencl/test/unit_test/gen8/test_preemption_gen8.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2020-2021 Intel Corporation
2+
* Copyright (C) 2020-2022 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -20,7 +20,7 @@ using Gen8PreemptionEnqueueKernelTest = PreemptionEnqueueKernelTest;
2020
using Gen8ClPreemptionTests = DevicePreemptionTests;
2121

2222
GEN8TEST_F(Gen8ClPreemptionTests, GivenEmptyFlagsWhenSettingPreemptionLevelFlagsThenThreadGroupPreemptionIsAllowed) {
23-
PreemptionFlags flags = PreemptionHelper::createPreemptionLevelFlags(device->getDevice(), &kernel->getDescriptor(), kernel->isSchedulerKernel);
23+
PreemptionFlags flags = PreemptionHelper::createPreemptionLevelFlags(device->getDevice(), &kernel->getDescriptor());
2424
EXPECT_TRUE(PreemptionHelper::allowThreadGroupPreemption(flags));
2525
}
2626

@@ -70,7 +70,7 @@ GEN8TEST_F(Gen8PreemptionEnqueueKernelTest, givenValidKernelForPreemptionWhenEnq
7070
pDevice->resetCommandStreamReceiver(mockCsr);
7171

7272
MockKernelWithInternals mockKernel(*pClDevice);
73-
PreemptionFlags flags = PreemptionHelper::createPreemptionLevelFlags(*pDevice, &mockKernel.mockKernel->getDescriptor(), mockKernel.mockKernel->isSchedulerKernel);
73+
PreemptionFlags flags = PreemptionHelper::createPreemptionLevelFlags(*pDevice, &mockKernel.mockKernel->getDescriptor());
7474
EXPECT_EQ(PreemptionMode::ThreadGroup, PreemptionHelper::taskPreemptionMode(pDevice->getPreemptionMode(), flags));
7575

7676
UserEvent userEventObj;
@@ -92,7 +92,7 @@ GEN8TEST_F(Gen8PreemptionEnqueueKernelTest, givenDisabledPreemptionWhenEnqueueKe
9292
pDevice->resetCommandStreamReceiver(mockCsr);
9393

9494
MockKernelWithInternals mockKernel(*pClDevice);
95-
PreemptionFlags flags = PreemptionHelper::createPreemptionLevelFlags(*pDevice, &mockKernel.mockKernel->getDescriptor(), mockKernel.mockKernel->isSchedulerKernel);
95+
PreemptionFlags flags = PreemptionHelper::createPreemptionLevelFlags(*pDevice, &mockKernel.mockKernel->getDescriptor());
9696
EXPECT_EQ(PreemptionMode::Disabled, PreemptionHelper::taskPreemptionMode(pDevice->getPreemptionMode(), flags));
9797

9898
size_t gws[3] = {1, 0, 0};

0 commit comments

Comments
 (0)