Skip to content

Commit 4994eb1

Browse files
Remove device side enqueue info from kernel descriptor
Related-To: NEO-6559 Signed-off-by: Katarzyna Cencelewska <[email protected]>
1 parent e984760 commit 4994eb1

11 files changed

+6
-85
lines changed

shared/source/device_binary_format/patchtokens_decoder.cpp

Lines changed: 1 addition & 4 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
*
@@ -331,9 +331,6 @@ inline bool decodeToken(const SPatchItemHeader *token, KernelFromPatchtokens &ou
331331
case PATCH_TOKEN_MEDIA_INTERFACE_DESCRIPTOR_LOAD:
332332
assignToken(out.tokens.mediaInterfaceDescriptorLoad, token);
333333
break;
334-
case PATCH_TOKEN_INTERFACE_DESCRIPTOR_DATA:
335-
assignToken(out.tokens.interfaceDescriptorData, token);
336-
break;
337334
case PATCH_TOKEN_THREAD_PAYLOAD:
338335
assignToken(out.tokens.threadPayload, token);
339336
break;

shared/source/device_binary_format/patchtokens_decoder.h

Lines changed: 1 addition & 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
*
@@ -120,7 +120,6 @@ struct KernelFromPatchtokens {
120120
const SPatchAllocateLocalSurface *allocateLocalSurface = nullptr;
121121
const SPatchMediaVFEState *mediaVfeState[2] = {nullptr, nullptr};
122122
const SPatchMediaInterfaceDescriptorLoad *mediaInterfaceDescriptorLoad = nullptr;
123-
const SPatchInterfaceDescriptorData *interfaceDescriptorData = nullptr;
124123
const SPatchThreadPayload *threadPayload = nullptr;
125124
const SPatchExecutionEnvironment *executionEnvironment = nullptr;
126125
const SPatchDataParameterStream *dataParameterStream = nullptr;

shared/source/device_binary_format/patchtokens_dumper.cpp

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -285,19 +285,6 @@ void dump(const SPatchMediaInterfaceDescriptorLoad &value, std::stringstream &ou
285285
out << indent << "}\n";
286286
}
287287

288-
void dump(const SPatchInterfaceDescriptorData &value, std::stringstream &out, const std::string &indent) {
289-
out << indent << "struct SPatchInterfaceDescriptorData :\n";
290-
out << indent << " SPatchItemHeader (";
291-
dumpPatchItemHeaderInline(value, out, "");
292-
out << ")\n"
293-
<< indent << "{\n";
294-
out << indent << " uint32_t Offset;// = " << value.Offset << "\n";
295-
out << indent << " uint32_t SamplerStateOffset;// = " << value.SamplerStateOffset << "\n";
296-
out << indent << " uint32_t KernelOffset;// = " << value.KernelOffset << "\n";
297-
out << indent << " uint32_t BindingTableOffset;// = " << value.BindingTableOffset << "\n";
298-
out << indent << "}\n";
299-
}
300-
301288
void dump(const SPatchDataParameterStream &value, std::stringstream &out, const std::string &indent) {
302289
out << indent << "struct SPatchDataParameterStream :\n";
303290
out << indent << " SPatchItemHeader (";
@@ -746,7 +733,6 @@ std::string asString(const KernelFromPatchtokens &kern) {
746733
dumpOrNull(kern.tokens.allocateLocalSurface, "", stream, indentLevel1);
747734
dumpOrNullArrayIfNotEmpty(kern.tokens.mediaVfeState, "mediaVfeState", stream, indentLevel1);
748735
dumpOrNull(kern.tokens.mediaInterfaceDescriptorLoad, "", stream, indentLevel1);
749-
dumpOrNull(kern.tokens.interfaceDescriptorData, "", stream, indentLevel1);
750736
dumpOrNull(kern.tokens.kernelAttributesInfo, "", stream, indentLevel1);
751737
dumpOrNull(kern.tokens.allocateStatelessPrivateSurface, "", stream, indentLevel1);
752738
dumpOrNull(kern.tokens.allocateStatelessConstantMemorySurfaceWithInitialization, "", stream, indentLevel1);

shared/source/kernel/kernel_descriptor.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -277,8 +277,6 @@ struct KernelDescriptor {
277277
std::string kernelName;
278278
std::string kernelLanguageAttributes;
279279
StringMap printfStringsMap;
280-
std::vector<std::pair<uint32_t, uint32_t>> deviceSideEnqueueChildrenKernelsIdOffset;
281-
uint32_t deviceSideEnqueueBlockInterfaceDescriptorOffset = 0U;
282280

283281
struct ByValueArgument {
284282
ArgDescValue::Element byValueElement;

shared/source/kernel/kernel_descriptor_from_patchtokens.cpp

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,6 @@ void populateKernelDescriptor(KernelDescriptor &dst, const SPatchMediaVFEState &
8787
dst.kernelAttributes.perThreadScratchSize[slot] = token.PerThreadScratchSpace;
8888
}
8989

90-
void populateKernelDescriptor(KernelDescriptor &dst, const SPatchInterfaceDescriptorData &token) {
91-
dst.kernelMetadata.deviceSideEnqueueBlockInterfaceDescriptorOffset = token.Offset;
92-
}
93-
9490
void populateKernelDescriptor(KernelDescriptor &dst, const SPatchThreadPayload &token) {
9591
dst.kernelAttributes.flags.perThreadDataHeaderIsPresent = (0U != token.HeaderPresent);
9692
dst.kernelAttributes.numLocalIdChannels = token.LocalIDXPresent + token.LocalIDYPresent + token.LocalIDZPresent;
@@ -470,7 +466,6 @@ void populateKernelDescriptor(KernelDescriptor &dst, const PatchTokenBinary::Ker
470466
populateKernelDescriptorIfNotNull(dst, src.tokens.allocateLocalSurface);
471467
populateKernelDescriptorIfNotNull(dst, src.tokens.mediaVfeState[0], 0);
472468
populateKernelDescriptorIfNotNull(dst, src.tokens.mediaVfeState[1], 1);
473-
populateKernelDescriptorIfNotNull(dst, src.tokens.interfaceDescriptorData);
474469
populateKernelDescriptorIfNotNull(dst, src.tokens.threadPayload);
475470
populateKernelDescriptorIfNotNull(dst, src.tokens.dataParameterStream);
476471
populateKernelDescriptorIfNotNull(dst, src.tokens.kernelAttributesInfo);
@@ -515,9 +510,6 @@ void populateKernelDescriptor(KernelDescriptor &dst, const PatchTokenBinary::Ker
515510
dst.payloadMappings.implicitArgs.privateMemorySize = getOffset(src.tokens.crossThreadPayloadArgs.privateMemoryStatelessSize);
516511
dst.payloadMappings.implicitArgs.localMemoryStatelessWindowSize = getOffset(src.tokens.crossThreadPayloadArgs.localMemoryStatelessWindowSize);
517512
dst.payloadMappings.implicitArgs.localMemoryStatelessWindowStartAddres = getOffset(src.tokens.crossThreadPayloadArgs.localMemoryStatelessWindowStartAddress);
518-
for (auto &childSimdSize : src.tokens.crossThreadPayloadArgs.childBlockSimdSize) {
519-
dst.kernelMetadata.deviceSideEnqueueChildrenKernelsIdOffset.push_back({childSimdSize->ArgumentNumber, childSimdSize->Offset});
520-
}
521513

522514
if (src.tokens.gtpinInfo) {
523515
dst.external.igcInfoForGtpin = (src.tokens.gtpinInfo + 1);

shared/test/common/mocks/mock_kernel_info.cpp

Lines changed: 1 addition & 5 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
*
@@ -193,10 +193,6 @@ void MockKernelInfo::setSamplerTable(DynamicStateHeapOffset borderColor, uint8_t
193193
samplerTable.tableOffset = tableOffset;
194194
}
195195

196-
void MockKernelInfo::setDeviceSideEnqueueBlockInterfaceDescriptorOffset(uint32_t offset) {
197-
kernelDescriptor.kernelMetadata.deviceSideEnqueueBlockInterfaceDescriptorOffset = offset;
198-
}
199-
200196
void MockKernelInfo::setPerThreadScratchSize(uint32_t perThreadScratchSize, uint32_t slot) {
201197
kernelDescriptor.kernelAttributes.perThreadScratchSize[slot] = perThreadScratchSize;
202198
}

shared/test/common/mocks/mock_kernel_info.h

Lines changed: 1 addition & 2 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
*
@@ -64,7 +64,6 @@ class MockKernelInfo : public KernelInfo {
6464
void setSyncBuffer(uint8_t pointerSize, CrossThreadDataOffset stateless, SurfaceStateHeapOffset bindful = undefined<CrossThreadDataOffset>);
6565
void setPrivateMemory(uint32_t perThreadPrivateMemorySize, bool isSimtThread, uint8_t pointerSize, CrossThreadDataOffset stateless, SurfaceStateHeapOffset bindful = undefined<CrossThreadDataOffset>);
6666
void setSamplerTable(DynamicStateHeapOffset borderColor, uint8_t numSamplers, DynamicStateHeapOffset tableOffset);
67-
void setDeviceSideEnqueueBlockInterfaceDescriptorOffset(uint32_t offset);
6867
void setPerThreadScratchSize(uint32_t perThreadScratchSize, uint32_t slot);
6968
void setLocalIds(const std::array<uint8_t, 3> &localIds);
7069

shared/test/unit_test/device_binary_format/patchtokens_decoder_tests.cpp

Lines changed: 1 addition & 4 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
*
@@ -26,7 +26,6 @@ bool hasEmptyTokensInfo(const NEO::PatchTokenBinary::KernelFromPatchtokens &kern
2626
empty &= nullptr == toks.mediaVfeState[0];
2727
empty &= nullptr == toks.mediaVfeState[1];
2828
empty &= nullptr == toks.mediaInterfaceDescriptorLoad;
29-
empty &= nullptr == toks.interfaceDescriptorData;
3029
empty &= nullptr == toks.threadPayload;
3130
empty &= nullptr == toks.executionEnvironment;
3231
empty &= nullptr == toks.dataParameterStream;
@@ -322,7 +321,6 @@ TEST(KernelDecoder, GivenKernelWithValidKernelPatchtokensThenDecodingSucceedsAnd
322321
auto mediaVfeState0Off = pushBackToken<SPatchMediaVFEState>(PATCH_TOKEN_MEDIA_VFE_STATE, storage);
323322
auto mediaVfeState1Off = pushBackToken<SPatchMediaVFEState>(PATCH_TOKEN_MEDIA_VFE_STATE_SLOT1, storage);
324323
auto mediaInterfaceDescriptorLoadOff = pushBackToken<SPatchMediaInterfaceDescriptorLoad>(PATCH_TOKEN_MEDIA_INTERFACE_DESCRIPTOR_LOAD, storage);
325-
auto interfaceDescriptorDataOff = pushBackToken<SPatchInterfaceDescriptorData>(PATCH_TOKEN_INTERFACE_DESCRIPTOR_DATA, storage);
326324
auto threadPayloadOff = pushBackToken<SPatchThreadPayload>(PATCH_TOKEN_THREAD_PAYLOAD, storage);
327325
auto executionEnvironmentOff = pushBackToken<SPatchExecutionEnvironment>(PATCH_TOKEN_EXECUTION_ENVIRONMENT, storage);
328326
auto kernelAttributesInfoOff = pushBackToken<SPatchKernelAttributesInfo>(PATCH_TOKEN_KERNEL_ATTRIBUTES_INFO, storage);
@@ -359,7 +357,6 @@ TEST(KernelDecoder, GivenKernelWithValidKernelPatchtokensThenDecodingSucceedsAnd
359357
EXPECT_TRUE(tokenOffsetMatched(base, mediaVfeState0Off, decodedKernel.tokens.mediaVfeState[0]));
360358
EXPECT_TRUE(tokenOffsetMatched(base, mediaVfeState1Off, decodedKernel.tokens.mediaVfeState[1]));
361359
EXPECT_TRUE(tokenOffsetMatched(base, mediaInterfaceDescriptorLoadOff, decodedKernel.tokens.mediaInterfaceDescriptorLoad));
362-
EXPECT_TRUE(tokenOffsetMatched(base, interfaceDescriptorDataOff, decodedKernel.tokens.interfaceDescriptorData));
363360
EXPECT_TRUE(tokenOffsetMatched(base, threadPayloadOff, decodedKernel.tokens.threadPayload));
364361
EXPECT_TRUE(tokenOffsetMatched(base, executionEnvironmentOff, decodedKernel.tokens.executionEnvironment));
365362
EXPECT_TRUE(tokenOffsetMatched(base, kernelAttributesInfoOff, decodedKernel.tokens.kernelAttributesInfo));

shared/test/unit_test/device_binary_format/patchtokens_dumper_tests.cpp

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,6 @@ TEST(KernelDumper, GivenKernelWithNonCrossthreadDataPatchtokensThenProperlyCreat
509509
auto allocateLocalSurface = initToken<SPatchAllocateLocalSurface>(PATCH_TOKEN_ALLOCATE_LOCAL_SURFACE);
510510
SPatchMediaVFEState mediaVfeState[2] = {initToken<SPatchMediaVFEState>(PATCH_TOKEN_MEDIA_VFE_STATE), initToken<SPatchMediaVFEState>(PATCH_TOKEN_MEDIA_VFE_STATE_SLOT1)};
511511
auto mediaInterfaceDescriptorLoad = initToken<SPatchMediaInterfaceDescriptorLoad>(PATCH_TOKEN_MEDIA_INTERFACE_DESCRIPTOR_LOAD);
512-
auto interfaceDescriptorData = initToken<SPatchInterfaceDescriptorData>(PATCH_TOKEN_INTERFACE_DESCRIPTOR_DATA);
513512
auto threadPayload = initToken<SPatchThreadPayload>(PATCH_TOKEN_THREAD_PAYLOAD);
514513
auto executionEnvironment = initToken<SPatchExecutionEnvironment>(PATCH_TOKEN_EXECUTION_ENVIRONMENT);
515514
auto dataParameterStream = initToken<SPatchDataParameterStream>(PATCH_TOKEN_DATA_PARAMETER_STREAM);
@@ -536,7 +535,6 @@ TEST(KernelDumper, GivenKernelWithNonCrossthreadDataPatchtokensThenProperlyCreat
536535
kernel.tokens.mediaVfeState[0] = &mediaVfeState[0];
537536
kernel.tokens.mediaVfeState[1] = &mediaVfeState[1];
538537
kernel.tokens.mediaInterfaceDescriptorLoad = &mediaInterfaceDescriptorLoad;
539-
kernel.tokens.interfaceDescriptorData = &interfaceDescriptorData;
540538
kernel.tokens.threadPayload = &threadPayload;
541539
kernel.tokens.executionEnvironment = &executionEnvironment;
542540
kernel.tokens.dataParameterStream = &dataParameterStream;
@@ -677,15 +675,6 @@ Kernel-scope tokens section size : )==="
677675
{
678676
uint32_t InterfaceDescriptorDataOffset;// = 0
679677
}
680-
struct SPatchInterfaceDescriptorData :
681-
SPatchItemHeader (Token=21(PATCH_TOKEN_INTERFACE_DESCRIPTOR_DATA), Size=)==="
682-
<< sizeof(SPatchInterfaceDescriptorData) << R"===()
683-
{
684-
uint32_t Offset;// = 0
685-
uint32_t SamplerStateOffset;// = 0
686-
uint32_t KernelOffset;// = 0
687-
uint32_t BindingTableOffset;// = 0
688-
}
689678
struct SPatchKernelAttributesInfo :
690679
SPatchItemHeader (Token=27(PATCH_TOKEN_KERNEL_ATTRIBUTES_INFO), Size=)==="
691680
<< sizeof(SPatchKernelAttributesInfo) << R"===()

shared/test/unit_test/kernel/kernel_descriptor_from_patchtokens_tests.cpp

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -244,14 +244,6 @@ TEST(KernelDescriptorFromPatchtokens, GivenImplicitArgsThenSetsProperPartsOfDesc
244244
kernelTokens.tokens.mediaVfeState[0] = nullptr;
245245
kernelTokens.tokens.mediaVfeState[1] = nullptr;
246246

247-
EXPECT_EQ(0U, kernelDescriptor.kernelMetadata.deviceSideEnqueueBlockInterfaceDescriptorOffset);
248-
iOpenCL::SPatchInterfaceDescriptorData interfaceDescriptorData = {};
249-
interfaceDescriptorData.Offset = 4096;
250-
kernelTokens.tokens.interfaceDescriptorData = &interfaceDescriptorData;
251-
NEO::populateKernelDescriptor(kernelDescriptor, kernelTokens, 4);
252-
EXPECT_EQ(interfaceDescriptorData.Offset, kernelDescriptor.kernelMetadata.deviceSideEnqueueBlockInterfaceDescriptorOffset);
253-
kernelTokens.tokens.interfaceDescriptorData = nullptr;
254-
255247
EXPECT_EQ(0U, kernelDescriptor.kernelAttributes.crossThreadDataSize);
256248
iOpenCL::SPatchDataParameterStream dataParameterStream = {};
257249
dataParameterStream.DataParameterStreamSize = 4096;
@@ -1289,28 +1281,6 @@ TEST(KernelDescriptorFromPatchtokens, GivenKernelWithDitpatchMetadataImplicitArg
12891281
}
12901282
}
12911283

1292-
TEST(KernelDescriptorFromPatchtokens, GivenKernelWithChildBlocksMetadataImplicitArgsThenKernelDescriptorIsProperlyPopulated) {
1293-
std::vector<uint8_t> storage;
1294-
NEO::PatchTokenBinary::KernelFromPatchtokens kernelTokens = PatchTokensTestData::ValidEmptyKernel::create(storage);
1295-
NEO::KernelDescriptor dst;
1296-
NEO::populateKernelDescriptor(dst, kernelTokens, 4);
1297-
EXPECT_TRUE(dst.kernelMetadata.deviceSideEnqueueChildrenKernelsIdOffset.empty());
1298-
1299-
iOpenCL::SPatchDataParameterBuffer childBlocks[2] = {};
1300-
childBlocks[0].ArgumentNumber = 0;
1301-
childBlocks[1].ArgumentNumber = 1;
1302-
childBlocks[0].Offset = 4096;
1303-
childBlocks[1].Offset = 8192;
1304-
kernelTokens.tokens.crossThreadPayloadArgs.childBlockSimdSize.push_back(&childBlocks[0]);
1305-
kernelTokens.tokens.crossThreadPayloadArgs.childBlockSimdSize.push_back(&childBlocks[1]);
1306-
NEO::populateKernelDescriptor(dst, kernelTokens, 4);
1307-
ASSERT_EQ(2U, dst.kernelMetadata.deviceSideEnqueueChildrenKernelsIdOffset.size());
1308-
EXPECT_EQ(childBlocks[0].ArgumentNumber, dst.kernelMetadata.deviceSideEnqueueChildrenKernelsIdOffset[0].first);
1309-
EXPECT_EQ(childBlocks[1].ArgumentNumber, dst.kernelMetadata.deviceSideEnqueueChildrenKernelsIdOffset[1].first);
1310-
EXPECT_EQ(childBlocks[0].Offset, dst.kernelMetadata.deviceSideEnqueueChildrenKernelsIdOffset[0].second);
1311-
EXPECT_EQ(childBlocks[1].Offset, dst.kernelMetadata.deviceSideEnqueueChildrenKernelsIdOffset[1].second);
1312-
}
1313-
13141284
TEST(KernelDescriptorFromPatchtokens, GivenDispatchTraitsImplicitArgsAndExplicitArgsWhenPopulatingKernelDescriptorThenCrossThreadDataSizeIsSetToMaxOffsetAndAligned) {
13151285
NEO::PatchTokenBinary::KernelFromPatchtokens kernelTokens;
13161286
iOpenCL::SKernelBinaryHeaderCommon kernelHeader;

shared/test/unit_test/kernel/kernel_descriptor_tests.cpp

Lines changed: 1 addition & 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
*
@@ -82,8 +82,6 @@ TEST(KernelDescriptor, WhenDefaultInitializedThenValuesAreCleared) {
8282
EXPECT_TRUE(desc.kernelMetadata.kernelName.empty());
8383
EXPECT_TRUE(desc.kernelMetadata.kernelLanguageAttributes.empty());
8484
EXPECT_TRUE(desc.kernelMetadata.printfStringsMap.empty());
85-
EXPECT_TRUE(desc.kernelMetadata.deviceSideEnqueueChildrenKernelsIdOffset.empty());
86-
EXPECT_EQ(0U, desc.kernelMetadata.deviceSideEnqueueBlockInterfaceDescriptorOffset);
8785
EXPECT_TRUE(desc.kernelMetadata.allByValueKernelArguments.empty());
8886
EXPECT_EQ(0U, desc.kernelMetadata.compiledSubGroupsNumber);
8987
EXPECT_EQ(0U, desc.kernelMetadata.requiredSubGroupSize);

0 commit comments

Comments
 (0)