Clean unused code

remove parts with device queue

Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
This commit is contained in:
Katarzyna Cencelewska
2022-07-06 11:43:51 +00:00
committed by Compute-Runtime-Automation
parent df4bec03e8
commit 25ce4d0c04
20 changed files with 69 additions and 303 deletions

View File

@@ -113,20 +113,6 @@ void MockKernelInfo::addExtendedMetadata(uint32_t index, const std::string &argN
extendedMetadata[index] = {argName, type, accessQualifier, addressQualifier, typeQualifiers};
}
void MockKernelInfo::addExtendedDeviceSideEnqueueDescriptor(uint32_t index, uint32_t objectId) {
auto &explicitArgsExtendedDescriptors = kernelDescriptor.payloadMappings.explicitArgsExtendedDescriptors;
auto &explicitArgs = kernelDescriptor.payloadMappings.explicitArgs;
if (index >= explicitArgsExtendedDescriptors.size()) {
explicitArgsExtendedDescriptors.resize(index + 1);
}
auto deviceSideEnqueueDescriptor = std::make_unique<ArgDescriptorDeviceSideEnqueue>();
deviceSideEnqueueDescriptor->objectId = objectId;
explicitArgsExtendedDescriptors[index] = std::move(deviceSideEnqueueDescriptor);
explicitArgs[index].getExtendedTypeInfo().hasDeviceSideEnqueueExtendedDescriptor = true;
}
void MockKernelInfo::addExtendedVmeDescriptor(uint32_t index, CrossThreadDataOffset mbBlockType, CrossThreadDataOffset sadAdjustMode, CrossThreadDataOffset searchPathType, CrossThreadDataOffset subpixelMode) {
auto &explicitArgsExtendedDescriptors = kernelDescriptor.payloadMappings.explicitArgsExtendedDescriptors;
if (index >= explicitArgsExtendedDescriptors.size()) {

View File

@@ -7,7 +7,6 @@
#pragma once
#include "shared/source/kernel/kernel_arg_descriptor_extended_device_side_enqueue.h"
#include "shared/source/kernel/kernel_arg_descriptor_extended_vme.h"
#include "shared/source/program/kernel_info.h"
@@ -52,8 +51,6 @@ class MockKernelInfo : public KernelInfo {
void addExtendedMetadata(uint32_t index, const std::string &argName = "", const std::string &type = "", const std::string &accessQualifier = "", const std::string &addressQualifier = "", const std::string &typeQualifiers = "");
void addExtendedDeviceSideEnqueueDescriptor(uint32_t index, uint32_t objectId);
inline void addToPrintfStringsMap(uint32_t index, const std::string &string) {
kernelDescriptor.kernelAttributes.flags.usesStringMapForPrintf = true;
kernelDescriptor.kernelMetadata.printfStringsMap.insert(std::make_pair(index, string));

View File

@@ -536,7 +536,6 @@ TEST(KernelDecoder, GivenKernelWithValidObjectArgPatchtokensThenDecodingSucceeds
for (int i = 0; i < 6; ++i) {
EXPECT_EQ(nullptr, decodedKernel.tokens.kernelArgs[i].argInfo);
EXPECT_EQ(0U, decodedKernel.tokens.kernelArgs[i].byValMap.size());
EXPECT_EQ(nullptr, decodedKernel.tokens.kernelArgs[i].objectId);
EXPECT_EQ(NEO::PatchTokenBinary::ArgObjectTypeSpecialized::None, decodedKernel.tokens.kernelArgs[i].objectTypeSpecialized);
}
}
@@ -677,11 +676,9 @@ TEST(KernelDecoder, GivenKernelWithValidObjectArgMetadataPatchtokensThenDecoding
auto patchListOffset = ptrDiff(kernelToEncode.blobs.patchList.begin(), storage.data());
auto arg0ObjectIdOff = pushBackDataParameterToken(iOpenCL::DATA_PARAMETER_OBJECT_ID, storage, 0U, 0U);
auto arg0BufferOffsetOff = pushBackDataParameterToken(iOpenCL::DATA_PARAMETER_BUFFER_OFFSET, storage, 0U, 0U);
auto arg0BufferStatefulOff = pushBackDataParameterToken(iOpenCL::DATA_PARAMETER_BUFFER_STATEFUL, storage, 0U, 0U);
auto arg1ObjectIdOff = pushBackDataParameterToken(iOpenCL::DATA_PARAMETER_OBJECT_ID, storage, 0U, 1U);
auto arg1ImageWidthOff = pushBackDataParameterToken(iOpenCL::DATA_PARAMETER_IMAGE_WIDTH, storage, 0U, 1U);
auto arg1ImageHeightOff = pushBackDataParameterToken(iOpenCL::DATA_PARAMETER_IMAGE_HEIGHT, storage, 0U, 1U);
auto arg1ImageDepthOff = pushBackDataParameterToken(iOpenCL::DATA_PARAMETER_IMAGE_DEPTH, storage, 0U, 1U);
@@ -723,11 +720,9 @@ TEST(KernelDecoder, GivenKernelWithValidObjectArgMetadataPatchtokensThenDecoding
EXPECT_EQ(NEO::PatchTokenBinary::ArgObjectTypeSpecialized::None, decodedKernel.tokens.kernelArgs[3].objectTypeSpecialized);
auto base = storage.data();
EXPECT_TRUE(tokenOffsetMatched(base, arg0ObjectIdOff, decodedKernel.tokens.kernelArgs[0].objectId));
EXPECT_TRUE(tokenOffsetMatched(base, arg0BufferOffsetOff, decodedKernel.tokens.kernelArgs[0].metadata.buffer.bufferOffset));
EXPECT_TRUE(tokenOffsetMatched(base, arg0BufferStatefulOff, decodedKernel.tokens.kernelArgs[0].metadata.buffer.pureStateful));
EXPECT_TRUE(tokenOffsetMatched(base, arg1ObjectIdOff, decodedKernel.tokens.kernelArgs[1].objectId));
EXPECT_TRUE(tokenOffsetMatched(base, arg1ImageWidthOff, decodedKernel.tokens.kernelArgs[1].metadata.image.width));
EXPECT_TRUE(tokenOffsetMatched(base, arg1ImageHeightOff, decodedKernel.tokens.kernelArgs[1].metadata.image.height));
EXPECT_TRUE(tokenOffsetMatched(base, arg1ImageDepthOff, decodedKernel.tokens.kernelArgs[1].metadata.image.depth));

View File

@@ -15,7 +15,7 @@
#include <sstream>
#include <unordered_set>
TEST(ProgramDumper, GivenEmptyProgramThenProperlyCreatesDumpStringWithWarnig) {
TEST(ProgramDumper, givenEmptyProgramThenProperlyCreatesDumpStringWithWarnig) {
NEO::PatchTokenBinary::ProgramFromPatchtokens emptyProgram = {};
emptyProgram.decodeStatus = NEO::DecodeError::Undefined;
std::string generated = NEO::PatchTokenBinary::asString(emptyProgram);
@@ -48,7 +48,7 @@ Kernels section size : 0
EXPECT_STREQ(expected, generated.c_str());
}
TEST(KernelDumper, GivenEmptyKernelThenProperlyCreatesDumpStringWithWarnig) {
TEST(KernelDumper, givenEmptyKernelThenProperlyCreatesDumpStringWithWarnig) {
NEO::PatchTokenBinary::KernelFromPatchtokens emptyKernel = {};
emptyKernel.decodeStatus = NEO::DecodeError::Undefined;
std::string generated = NEO::PatchTokenBinary::asString(emptyKernel);
@@ -78,7 +78,7 @@ Kernel-scope tokens section size : 0
EXPECT_STREQ(expected, generated.c_str());
}
TEST(KernelArgDumper, GivenEmptyKernelArgThenProperlyCreatesDump) {
TEST(KernelArgDumper, givenEmptyKernelArgThenProperlyCreatesDump) {
NEO::PatchTokenBinary::KernelArgFromPatchtokens emptyKernelArg = {};
std::string generated = NEO::PatchTokenBinary::asString(emptyKernelArg, "");
const char *expected =
@@ -87,7 +87,7 @@ TEST(KernelArgDumper, GivenEmptyKernelArgThenProperlyCreatesDump) {
EXPECT_STREQ(expected, generated.c_str());
}
TEST(ProgramDumper, GivenProgramWithPatchtokensThenProperlyCreatesDump) {
TEST(ProgramDumper, givenProgramWithPatchtokensThenProperlyCreatesDump) {
using namespace iOpenCL;
PatchTokensTestData::ValidProgramWithConstantSurfaceAndPointer progWithConst = {};
PatchTokensTestData::ValidProgramWithGlobalSurfaceAndPointer progWithGlobal = {};
@@ -266,7 +266,7 @@ Kernels section size : 0
EXPECT_STREQ(expected.str().c_str(), generated.c_str());
}
TEST(ProgramDumper, GivenProgramWithKernelThenProperlyCreatesDump) {
TEST(ProgramDumper, givenProgramWithKernelThenProperlyCreatesDump) {
PatchTokensTestData::ValidProgramWithKernelUsingSlm program;
std::string generated = NEO::PatchTokenBinary::asString(program);
std::stringstream expected;
@@ -346,7 +346,7 @@ Kernel-scope tokens section size : )==="
EXPECT_STREQ(expected.str().c_str(), generated.c_str());
}
TEST(ProgramDumper, GivenProgramWithMultipleKerneslThenProperlyCreatesDump) {
TEST(ProgramDumper, givenProgramWithMultipleKerneslThenProperlyCreatesDump) {
PatchTokensTestData::ValidProgramWithKernelUsingSlm program;
program.kernels.push_back(program.kernels[0]);
program.kernels[1].tokens.allocateLocalSurface = nullptr;
@@ -516,7 +516,7 @@ Kernel-scope tokens section size : )==="
EXPECT_STREQ(expected.str().c_str(), generated.c_str());
}
TEST(KernelDumper, GivenKernelWithNonCrossthreadDataPatchtokensThenProperlyCreatesDump) {
TEST(KernelDumper, givenKernelWithNonCrossthreadDataPatchtokensThenProperlyCreatesDump) {
using namespace iOpenCL;
using namespace PatchTokensTestData;
std::vector<uint8_t> stream;
@@ -805,7 +805,7 @@ Kernel-scope tokens section size : )==="
EXPECT_STREQ(expected.str().c_str(), generated.c_str());
}
TEST(KernelDumper, GivenKernelWithStringPatchTokensThenProperlyCreatesDump) {
TEST(KernelDumper, givenKernelWithStringPatchTokensThenProperlyCreatesDump) {
std::vector<uint8_t> kernelStream;
auto kernel = PatchTokensTestData::ValidEmptyKernel::create(kernelStream);
@@ -892,7 +892,7 @@ Kernel-scope tokens section size : )==="
EXPECT_STREQ(expected.str().c_str(), generated.c_str());
}
TEST(KernelDumper, GivenKernelWithNonArgCrossThreadDataPatchtokensThenProperlyCreatesDump) {
TEST(KernelDumper, givenKernelWithNonArgCrossThreadDataPatchtokensThenProperlyCreatesDump) {
using namespace iOpenCL;
using namespace PatchTokensTestData;
std::vector<uint8_t> stream;
@@ -1354,12 +1354,15 @@ Kernel-scope tokens section size : )==="
EXPECT_STREQ(expected.str().c_str(), generated.c_str());
}
TEST(KernelDumper, GivenKernelWithArgThenProperlyCreatesDump) {
TEST(KernelDumper, givenKernelWithArgThenProperlyCreatesDump) {
std::vector<uint8_t> stream;
auto kernel = PatchTokensTestData::ValidEmptyKernel::create(stream);
kernel.tokens.kernelArgs.push_back(NEO::PatchTokenBinary::KernelArgFromPatchtokens{});
auto kernelArgObjId = PatchTokensTestData::initDataParameterBufferToken(iOpenCL::DATA_PARAMETER_OBJECT_ID);
kernel.tokens.kernelArgs[0].objectId = &kernelArgObjId;
iOpenCL::SPatchGlobalMemoryObjectKernelArgument objectArg = {};
objectArg.Token = iOpenCL::PATCH_TOKEN_GLOBAL_MEMORY_OBJECT_KERNEL_ARGUMENT;
objectArg.Size = sizeof(iOpenCL::SPatchGlobalMemoryObjectKernelArgument);
objectArg.Offset = 0x1;
kernel.tokens.kernelArgs[0].objectArg = &objectArg;
kernel.tokens.kernelArgs.push_back(kernel.tokens.kernelArgs[0]);
auto generated = NEO::PatchTokenBinary::asString(kernel);
std::stringstream expected;
@@ -1406,30 +1409,22 @@ Kernel-scope tokens section size : )==="
Kernel arguments [2] :
+ kernelArg[0]:
| Kernel argument of type unspecified
| struct SPatchDataParameterBuffer :
| SPatchItemHeader (Token=17(PATCH_TOKEN_DATA_PARAMETER_BUFFER), Size=)==="
<< sizeof(iOpenCL::SPatchDataParameterBuffer) << R"===()
| struct SPatchGlobalMemoryObjectKernelArgument :
| SPatchItemHeader (Token=11(PATCH_TOKEN_GLOBAL_MEMORY_OBJECT_KERNEL_ARGUMENT), Size=28)
| {
| uint32_t Type;// = 35(DATA_PARAMETER_OBJECT_ID)
| uint32_t ArgumentNumber;// = 0
| uint32_t Offset;// = 0
| uint32_t DataSize;// = 0
| uint32_t SourceOffset;// = 0
| uint32_t Offset;// = 1
| uint32_t LocationIndex;// = 0
| uint32_t LocationIndex2;// = 0
| uint32_t IsEmulationArgument;// = 0
| }
+ kernelArg[1]:
| Kernel argument of type unspecified
| struct SPatchDataParameterBuffer :
| SPatchItemHeader (Token=17(PATCH_TOKEN_DATA_PARAMETER_BUFFER), Size=)==="
<< sizeof(iOpenCL::SPatchDataParameterBuffer) << R"===()
| struct SPatchGlobalMemoryObjectKernelArgument :
| SPatchItemHeader (Token=11(PATCH_TOKEN_GLOBAL_MEMORY_OBJECT_KERNEL_ARGUMENT), Size=28)
| {
| uint32_t Type;// = 35(DATA_PARAMETER_OBJECT_ID)
| uint32_t ArgumentNumber;// = 0
| uint32_t Offset;// = 0
| uint32_t DataSize;// = 0
| uint32_t SourceOffset;// = 0
| uint32_t Offset;// = 1
| uint32_t LocationIndex;// = 0
| uint32_t LocationIndex2;// = 0
| uint32_t IsEmulationArgument;// = 0
@@ -1438,47 +1433,7 @@ Kernel arguments [2] :
EXPECT_STREQ(expected.str().c_str(), generated.c_str());
}
TEST(KernelArgDumper, GivenKernelArgWithObjectIdAndArgInfoThenProperlyCreatesDump) {
NEO::PatchTokenBinary::KernelArgFromPatchtokens kernelArg = {};
auto kernelArgObjId = PatchTokensTestData::initDataParameterBufferToken(iOpenCL::DATA_PARAMETER_OBJECT_ID);
kernelArg.objectId = &kernelArgObjId;
std::vector<uint8_t> argInfoStorage;
PatchTokensTestData::pushBackArgInfoToken(argInfoStorage);
kernelArg.argInfo = reinterpret_cast<iOpenCL::SPatchKernelArgumentInfo *>(argInfoStorage.data());
auto generated = NEO::PatchTokenBinary::asString(kernelArg, " | ");
std::stringstream expected;
expected << R"===( | Kernel argument of type unspecified
| struct SPatchKernelArgumentInfo :
| SPatchItemHeader (Token=26(PATCH_TOKEN_KERNEL_ARGUMENT_INFO), Size=)==="
<< kernelArg.argInfo->Size << R"===()
| {
| uint32_t ArgumentNumber;// = 0
| uint32_t AddressQualifierSize;// = 8 : [__global]
| uint32_t AccessQualifierSize;// = 10 : [read_write]
| uint32_t ArgumentNameSize;// = 10 : [custom_arg]
| uint32_t TypeNameSize;// = 5 : [int*;]
| uint32_t TypeQualifierSize;// = 5 : [const]
| }
| struct SPatchDataParameterBuffer :
| SPatchItemHeader (Token=17(PATCH_TOKEN_DATA_PARAMETER_BUFFER), Size=)==="
<< sizeof(iOpenCL::SPatchDataParameterBuffer) << R"===()
| {
| uint32_t Type;// = 35(DATA_PARAMETER_OBJECT_ID)
| uint32_t ArgumentNumber;// = 0
| uint32_t Offset;// = 0
| uint32_t DataSize;// = 0
| uint32_t SourceOffset;// = 0
| uint32_t LocationIndex;// = 0
| uint32_t LocationIndex2;// = 0
| uint32_t IsEmulationArgument;// = 0
| }
)===";
EXPECT_STREQ(expected.str().c_str(), generated.c_str());
}
TEST(KernelArgDumper, GivenSamplerObjectKernelArgThenProperlyCreatesDump) {
TEST(KernelArgDumper, givenSamplerObjectKernelArgThenProperlyCreatesDump) {
NEO::PatchTokenBinary::KernelArgFromPatchtokens kernelArg = {};
auto objectArg = PatchTokensTestData::initToken<iOpenCL::SPatchSamplerKernelArgument>(iOpenCL::PATCH_TOKEN_SAMPLER_KERNEL_ARGUMENT);
kernelArg.objectArg = &objectArg;
@@ -1505,7 +1460,7 @@ TEST(KernelArgDumper, GivenSamplerObjectKernelArgThenProperlyCreatesDump) {
EXPECT_STREQ(expected.str().c_str(), generated.c_str());
}
TEST(KernelArgDumper, GivenImageObjectKernelArgThenProperlyCreatesDump) {
TEST(KernelArgDumper, givenImageObjectKernelArgThenProperlyCreatesDump) {
NEO::PatchTokenBinary::KernelArgFromPatchtokens kernelArg = {};
auto objectArg = PatchTokensTestData::initToken<iOpenCL::SPatchImageMemoryObjectKernelArgument>(iOpenCL::PATCH_TOKEN_IMAGE_MEMORY_OBJECT_KERNEL_ARGUMENT);
kernelArg.objectArg = &objectArg;
@@ -1533,7 +1488,7 @@ TEST(KernelArgDumper, GivenImageObjectKernelArgThenProperlyCreatesDump) {
EXPECT_STREQ(expected.str().c_str(), generated.c_str());
}
TEST(KernelArgDumper, GivenGlobalMemoryObjectKernelArgThenProperlyCreatesDump) {
TEST(KernelArgDumper, givenGlobalMemoryObjectKernelArgThenProperlyCreatesDump) {
NEO::PatchTokenBinary::KernelArgFromPatchtokens kernelArg = {};
auto objectArg = PatchTokensTestData::initToken<iOpenCL::SPatchGlobalMemoryObjectKernelArgument>(iOpenCL::PATCH_TOKEN_GLOBAL_MEMORY_OBJECT_KERNEL_ARGUMENT);
kernelArg.objectArg = &objectArg;
@@ -1556,7 +1511,7 @@ TEST(KernelArgDumper, GivenGlobalMemoryObjectKernelArgThenProperlyCreatesDump) {
EXPECT_STREQ(expected.str().c_str(), generated.c_str());
}
TEST(KernelArgDumper, GivenStatelessGlobalMemoryObjectKernelArgThenProperlyCreatesDump) {
TEST(KernelArgDumper, givenStatelessGlobalMemoryObjectKernelArgThenProperlyCreatesDump) {
NEO::PatchTokenBinary::KernelArgFromPatchtokens kernelArg = {};
auto objectArg = PatchTokensTestData::initToken<iOpenCL::SPatchStatelessGlobalMemoryObjectKernelArgument>(iOpenCL::PATCH_TOKEN_STATELESS_GLOBAL_MEMORY_OBJECT_KERNEL_ARGUMENT);
kernelArg.objectArg = &objectArg;
@@ -1581,7 +1536,7 @@ TEST(KernelArgDumper, GivenStatelessGlobalMemoryObjectKernelArgThenProperlyCreat
EXPECT_STREQ(expected.str().c_str(), generated.c_str());
}
TEST(KernelArgDumper, GivenStatelessConstantMemoryObjectKernelArgThenProperlyCreatesDump) {
TEST(KernelArgDumper, givenStatelessConstantMemoryObjectKernelArgThenProperlyCreatesDump) {
NEO::PatchTokenBinary::KernelArgFromPatchtokens kernelArg = {};
auto objectArg = PatchTokensTestData::initToken<iOpenCL::SPatchStatelessConstantMemoryObjectKernelArgument>(iOpenCL::PATCH_TOKEN_STATELESS_CONSTANT_MEMORY_OBJECT_KERNEL_ARGUMENT);
kernelArg.objectArg = &objectArg;
@@ -1606,7 +1561,7 @@ TEST(KernelArgDumper, GivenStatelessConstantMemoryObjectKernelArgThenProperlyCre
EXPECT_STREQ(expected.str().c_str(), generated.c_str());
}
TEST(KernelArgDumper, GivenStatelessDeviceQueueObjectKernelArgThenProperlyCreatesDump) {
TEST(KernelArgDumper, givenStatelessDeviceQueueObjectKernelArgThenProperlyCreatesDump) {
NEO::PatchTokenBinary::KernelArgFromPatchtokens kernelArg = {};
auto objectArg = PatchTokensTestData::initToken<iOpenCL::SPatchStatelessDeviceQueueKernelArgument>(iOpenCL::PATCH_TOKEN_STATELESS_DEVICE_QUEUE_KERNEL_ARGUMENT);
kernelArg.objectArg = &objectArg;
@@ -1631,7 +1586,7 @@ TEST(KernelArgDumper, GivenStatelessDeviceQueueObjectKernelArgThenProperlyCreate
EXPECT_STREQ(expected.str().c_str(), generated.c_str());
}
TEST(KernelArgDumper, GivenBufferKernelArgWithMetadataTokensThenProperlyCreatesDump) {
TEST(KernelArgDumper, givenBufferKernelArgWithMetadataTokensThenProperlyCreatesDump) {
NEO::PatchTokenBinary::KernelArgFromPatchtokens kernelArg = {};
kernelArg.objectType = NEO::PatchTokenBinary::ArgObjectType::Buffer;
auto dataBufferOffset = PatchTokensTestData::initDataParameterBufferToken(iOpenCL::DATA_PARAMETER_BUFFER_OFFSET);
@@ -1672,7 +1627,7 @@ TEST(KernelArgDumper, GivenBufferKernelArgWithMetadataTokensThenProperlyCreatesD
EXPECT_STREQ(expected.str().c_str(), generated.c_str());
}
TEST(KernelArgDumper, GivenImageKernelArgWithMetadataTokensThenProperlyCreatesDump) {
TEST(KernelArgDumper, givenImageKernelArgWithMetadataTokensThenProperlyCreatesDump) {
NEO::PatchTokenBinary::KernelArgFromPatchtokens kernelArg = {};
kernelArg.objectType = NEO::PatchTokenBinary::ArgObjectType::Image;
auto width = PatchTokensTestData::initDataParameterBufferToken(iOpenCL::DATA_PARAMETER_IMAGE_WIDTH);
@@ -1864,7 +1819,7 @@ TEST(KernelArgDumper, GivenImageKernelArgWithMetadataTokensThenProperlyCreatesDu
EXPECT_STREQ(expected.str().c_str(), generated.c_str());
}
TEST(KernelArgDumper, GivenSamplerKernelArgWithMetadataTokensThenProperlyCreatesDump) {
TEST(KernelArgDumper, givenSamplerKernelArgWithMetadataTokensThenProperlyCreatesDump) {
NEO::PatchTokenBinary::KernelArgFromPatchtokens kernelArg = {};
kernelArg.objectType = NEO::PatchTokenBinary::ArgObjectType::Sampler;
auto coordinateSnapWaRequired = PatchTokensTestData::initDataParameterBufferToken(iOpenCL::DATA_PARAMETER_SAMPLER_COORDINATE_SNAP_WA_REQUIRED);
@@ -1920,7 +1875,7 @@ TEST(KernelArgDumper, GivenSamplerKernelArgWithMetadataTokensThenProperlyCreates
EXPECT_STREQ(expected.str().c_str(), generated.c_str());
}
TEST(KernelArgDumper, GivenSlmKernelArgWithMetadataTokensThenProperlyCreatesDump) {
TEST(KernelArgDumper, givenSlmKernelArgWithMetadataTokensThenProperlyCreatesDump) {
NEO::PatchTokenBinary::KernelArgFromPatchtokens kernelArg = {};
kernelArg.objectType = NEO::PatchTokenBinary::ArgObjectType::Slm;
auto slm = PatchTokensTestData::initDataParameterBufferToken(iOpenCL::DATA_PARAMETER_SUM_OF_LOCAL_MEMORY_OBJECT_ARGUMENT_SIZES);
@@ -1946,7 +1901,7 @@ TEST(KernelArgDumper, GivenSlmKernelArgWithMetadataTokensThenProperlyCreatesDump
EXPECT_STREQ(expected.str().c_str(), generated.c_str());
}
TEST(KernelArgDumper, GivenVmeKernelArgWithMetadataTokensThenProperlyCreatesDump) {
TEST(KernelArgDumper, givenVmeKernelArgWithMetadataTokensThenProperlyCreatesDump) {
NEO::PatchTokenBinary::KernelArgFromPatchtokens kernelArg = {};
kernelArg.objectType = NEO::PatchTokenBinary::ArgObjectType::Image;
kernelArg.objectTypeSpecialized = NEO::PatchTokenBinary::ArgObjectTypeSpecialized::Vme;
@@ -2020,7 +1975,7 @@ TEST(KernelArgDumper, GivenVmeKernelArgWithMetadataTokensThenProperlyCreatesDump
EXPECT_STREQ(expected.str().c_str(), generated.c_str());
}
TEST(PatchTokenDumper, GivenAnyTokenThenDumpingIsHandled) {
TEST(PatchTokenDumper, givenAnyTokenThenDumpingIsHandled) {
constexpr uint32_t maxTokenSize = 4096;
PatchTokensTestData::ValidEmptyProgram programToDecode;
@@ -2083,16 +2038,29 @@ TEST(PatchTokenDumper, GivenAnyTokenThenDumpingIsHandled) {
*kernelDataParamToken = PatchTokensTestData::initDataParameterBufferToken(iOpenCL::DATA_PARAMETER_BUFFER_OFFSET);
kernelDataParamToken->Size = maxTokenSize;
std::unordered_set<int> dataParamTokensPasslist{6, 7, 17, 19, 36, 37, 38, 39, 40, 41};
std::unordered_set<int> dataParamTokensPasslist{iOpenCL::DATA_PARAMETER_LOCAL_ID,
iOpenCL::DATA_PARAMETER_EXECUTION_MASK,
iOpenCL::DATA_PARAMETER_NUM_HARDWARE_THREADS,
iOpenCL::DATA_PARAMETER_PRINTF_SURFACE_SIZE,
iOpenCL::DATA_PARAMETER_OBJECT_ID,
iOpenCL::DATA_PARAMETER_VME_IMAGE_TYPE,
iOpenCL::DATA_PARAMETER_VME_MB_SKIP_BLOCK_TYPE,
iOpenCL::DATA_PARAMETER_CHILD_BLOCK_SIMD_SIZE,
iOpenCL::DATA_PARAMETER_IMAGE_SRGB_CHANNEL_ORDER,
iOpenCL::DATA_PARAMETER_STAGE_IN_GRID_ORIGIN,
iOpenCL::DATA_PARAMETER_STAGE_IN_GRID_SIZE};
for (int i = 0; i < iOpenCL::NUM_DATA_PARAMETER_TOKENS; ++i) {
if (dataParamTokensPasslist.count(i) != 0) {
continue;
}
kernelDataParamToken->Type = i;
decodedKernel = {};
NEO::PatchTokenBinary::decodeKernelFromPatchtokensBlob(kernelToDecode.blobs.kernelInfo, decodedKernel);
auto dump = NEO::PatchTokenBinary::asString(decodedKernel);
if (dataParamTokensPasslist.count(i) != 0) {
auto dump = NEO::PatchTokenBinary::asString(decodedKernel);
EXPECT_EQ(std::string::npos, dump.find("Type;// = " + std::to_string(i) + "(")) << "Update patchtokens_dumper.cpp with definition of SPatchDataParameterBuffer with type :" << i;
continue;
}
if (decodedKernel.unhandledTokens.empty()) {
auto dump = NEO::PatchTokenBinary::asString(decodedKernel);
EXPECT_NE(std::string::npos, dump.find("Type;// = " + std::to_string(i) + "(")) << "Update patchtokens_dumper.cpp with definition of SPatchDataParameterBuffer with type :" << i;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2020-2021 Intel Corporation
* Copyright (C) 2020-2022 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@@ -295,7 +295,6 @@ TEST(ArgDescriptorAs, GivenMismatchedArgTypeThenAborts) {
TEST(ArgDescriptorCopyAssign, WhenCopyAssignedThenCopiesExtendedTypeInfo) {
NEO::ArgDescriptor arg0;
arg0.getExtendedTypeInfo().isAccelerator = true;
arg0.getExtendedTypeInfo().hasDeviceSideEnqueueExtendedDescriptor = true;
NEO::ArgDescriptor arg1{arg0};
NEO::ArgDescriptor arg2;

View File

@@ -6,7 +6,6 @@
*/
#include "shared/source/device_binary_format/patchtokens_decoder.h"
#include "shared/source/kernel/kernel_arg_descriptor_extended_device_side_enqueue.h"
#include "shared/source/kernel/kernel_arg_descriptor_extended_vme.h"
#include "shared/source/kernel/kernel_descriptor.h"
#include "shared/source/kernel/kernel_descriptor_from_patchtokens.h"
@@ -1107,34 +1106,6 @@ TEST(KernelDescriptorFromPatchtokens, GivenKernelWithSamplerArgumentAndMetadataW
}
}
TEST(KernelDescriptorFromPatchtokens, GivenKernelWithSamplerArgumentAndMetadataWhenObjectIdIsPresentThenKernelDescriptorIsProperlyPopulated) {
std::vector<uint8_t> storage;
NEO::PatchTokenBinary::KernelFromPatchtokens kernelTokens = PatchTokensTestData::ValidEmptyKernel::create(storage);
kernelTokens.tokens.kernelArgs.resize(1);
kernelTokens.tokens.kernelArgs[0].objectType = NEO::PatchTokenBinary::ArgObjectType::Sampler;
{
NEO::KernelDescriptor dst = {};
NEO::populateKernelDescriptor(dst, kernelTokens, sizeof(void *));
EXPECT_TRUE(dst.payloadMappings.explicitArgs[0].is<NEO::ArgDescriptor::ArgTSampler>());
EXPECT_FALSE(dst.payloadMappings.explicitArgs[0].getExtendedTypeInfo().hasDeviceSideEnqueueExtendedDescriptor);
EXPECT_TRUE(dst.payloadMappings.explicitArgsExtendedDescriptors.empty());
}
{
iOpenCL::SPatchDataParameterBuffer objectId = {};
kernelTokens.tokens.kernelArgs[0].objectId = &objectId;
objectId.Offset = 7;
NEO::KernelDescriptor dst = {};
NEO::populateKernelDescriptor(dst, kernelTokens, sizeof(void *));
EXPECT_TRUE(dst.payloadMappings.explicitArgs[0].is<NEO::ArgDescriptor::ArgTSampler>());
EXPECT_TRUE(dst.kernelAttributes.flags.usesSamplers);
EXPECT_TRUE(dst.payloadMappings.explicitArgs[0].getExtendedTypeInfo().hasDeviceSideEnqueueExtendedDescriptor);
ASSERT_EQ(1U, dst.payloadMappings.explicitArgsExtendedDescriptors.size());
auto argObjectId = reinterpret_cast<NEO::ArgDescriptorDeviceSideEnqueue *>(dst.payloadMappings.explicitArgsExtendedDescriptors[0].get());
EXPECT_EQ(objectId.Offset, argObjectId->objectId);
}
}
TEST(KernelDescriptorFromPatchtokens, GivenKernelWithInlineVmeThenKernelDescriptorIsProperlyPopulated) {
std::vector<uint8_t> storage;
NEO::PatchTokenBinary::KernelFromPatchtokens kernelTokens = PatchTokensTestData::ValidEmptyKernel::create(storage);