Skip to content

Commit ef71915

Browse files
Remove KernelArgInfo and use KernelDescriptor's args instead
Related-To: NEO-4729 Signed-off-by: Krystian Chmielewski <[email protected]>
1 parent 215051c commit ef71915

File tree

111 files changed

+1888
-3735
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

111 files changed

+1888
-3735
lines changed

level_zero/core/source/module/module_imp.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,6 @@ ModuleImp::~ModuleImp() {
347347

348348
bool ModuleImp::initialize(const ze_module_desc_t *desc, NEO::Device *neoDevice) {
349349
bool success = true;
350-
NEO::useKernelDescriptor = true;
351350

352351
std::string buildOptions;
353352
std::string internalBuildOptions;

level_zero/core/test/unit_tests/main.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,6 @@ int main(int argc, char **argv) {
255255
NEO::defaultHwInfo = std::make_unique<NEO::HardwareInfo>();
256256
*NEO::defaultHwInfo = hwInfoForTests;
257257

258-
NEO::useKernelDescriptor = true;
259258
NEO::MockSipData::mockSipKernel.reset(new NEO::MockSipKernel());
260259

261260
environment = reinterpret_cast<TestEnvironment *>(::testing::AddGlobalTestEnvironment(new TestEnvironment));

opencl/source/api/api.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4832,7 +4832,10 @@ cl_int CL_API_CALL clSetKernelArgSVMPointer(cl_kernel kernel,
48324832

48334833
for (const auto &pDevice : pMultiDeviceKernel->getDevices()) {
48344834
auto pKernel = pMultiDeviceKernel->getKernel(pDevice->getRootDeviceIndex());
4835-
cl_int kernelArgAddressQualifier = asClKernelArgAddressQualifier(pKernel->getKernelInfo().kernelArgInfo[argIndex].metadata.getAddressQualifier());
4835+
cl_int kernelArgAddressQualifier = asClKernelArgAddressQualifier(pKernel->getKernelInfo()
4836+
.kernelDescriptor.payloadMappings.explicitArgs[argIndex]
4837+
.getTraits()
4838+
.getAddressQualifier());
48364839
if ((kernelArgAddressQualifier != CL_KERNEL_ARG_ADDRESS_GLOBAL) &&
48374840
(kernelArgAddressQualifier != CL_KERNEL_ARG_ADDRESS_CONSTANT)) {
48384841
retVal = CL_INVALID_ARG_VALUE;

opencl/source/built_ins/vme_dispatch_builder.h

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -166,11 +166,12 @@ class VmeBuiltinDispatchInfoBuilder : public BuiltinDispatchInfoBuilder {
166166

167167
template <typename RetType>
168168
RetType getKernelArgByValValue(uint32_t argNum) const {
169-
auto &kernelArgInfo = vmeKernel->getKernelInfo().kernelArgInfo[argNum];
170-
DEBUG_BREAK_IF(kernelArgInfo.kernelArgPatchInfoVector.size() != 1);
171-
const KernelArgPatchInfo &patchInfo = kernelArgInfo.kernelArgPatchInfoVector[0];
172-
DEBUG_BREAK_IF(sizeof(RetType) > patchInfo.size);
173-
return *(RetType *)(vmeKernel->getCrossThreadData() + patchInfo.crossthreadOffset);
169+
const auto &argAsVal = vmeKernel->getKernelInfo().kernelDescriptor.payloadMappings.explicitArgs[argNum].as<ArgDescValue>();
170+
DEBUG_BREAK_IF(argAsVal.elements.size() != 1);
171+
172+
const auto &element = argAsVal.elements[0];
173+
DEBUG_BREAK_IF(sizeof(RetType) > element.size);
174+
return *(RetType *)(vmeKernel->getCrossThreadData() + element.offset);
174175
}
175176

176177
cl_int validateImages(Vec3<size_t> inputRegion, Vec3<size_t> offset) const {

opencl/source/command_queue/command_queue.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -536,7 +536,7 @@ void CommandQueue::enqueueBlockedMapUnmapOperation(const cl_event *eventWaitList
536536
bool CommandQueue::setupDebugSurface(Kernel *kernel) {
537537
auto debugSurface = getGpgpuCommandStreamReceiver().getDebugSurfaceAllocation();
538538

539-
DEBUG_BREAK_IF(!kernel->requiresSshForBuffers());
539+
DEBUG_BREAK_IF(!kernel->usesBindfulAddressingForBuffers());
540540
auto surfaceState = ptrOffset(reinterpret_cast<uintptr_t *>(kernel->getSurfaceStateHeap()),
541541
kernel->getKernelInfo().kernelDescriptor.payloadMappings.implicitArgs.systemThreadSurfaceAddress.bindful);
542542
void *addressToPatch = reinterpret_cast<void *>(debugSurface->getGpuAddress());

opencl/source/helpers/cl_hw_helper_base.inl

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,12 @@ inline bool ClHwHelperHw<GfxFamily>::requiresAuxResolves(const KernelInfo &kerne
2020

2121
template <typename GfxFamily>
2222
inline bool ClHwHelperHw<GfxFamily>::hasStatelessAccessToBuffer(const KernelInfo &kernelInfo) const {
23-
bool hasStatelessAccessToBuffer = false;
24-
for (uint32_t i = 0; i < kernelInfo.kernelArgInfo.size(); ++i) {
25-
if (kernelInfo.kernelArgInfo[i].isBuffer) {
26-
hasStatelessAccessToBuffer |= !kernelInfo.kernelArgInfo[i].pureStatefulBufferAccess;
23+
for (const auto &arg : kernelInfo.kernelDescriptor.payloadMappings.explicitArgs) {
24+
if (arg.is<ArgDescriptor::ArgTPointer>() && !arg.as<ArgDescPointer>().isPureStateful()) {
25+
return true;
2726
}
2827
}
29-
return hasStatelessAccessToBuffer;
28+
return false;
3029
}
3130

3231
template <typename GfxFamily>

opencl/source/kernel/image_transformer.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2018-2020 Intel Corporation
2+
* Copyright (C) 2018-2021 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -20,20 +20,22 @@ void ImageTransformer::registerImage3d(uint32_t argIndex) {
2020
}
2121
void ImageTransformer::transformImagesTo2dArray(const KernelInfo &kernelInfo, const std::vector<Kernel::SimpleKernelArgInfo> &kernelArguments, void *ssh) {
2222
for (auto const &argIndex : argIndexes) {
23-
if (kernelInfo.kernelArgInfo.at(argIndex).isTransformable) {
23+
const auto &arg = kernelInfo.kernelDescriptor.payloadMappings.explicitArgs[argIndex];
24+
if (arg.getExtendedTypeInfo().isTransformable) {
2425
auto clMemObj = static_cast<cl_mem>(kernelArguments.at(argIndex).object);
2526
auto image = castToObjectOrAbort<Image>(clMemObj);
26-
auto surfaceState = ptrOffset(ssh, kernelInfo.kernelArgInfo.at(argIndex).offsetHeap);
27+
auto surfaceState = ptrOffset(ssh, arg.as<ArgDescImage>().bindful);
2728
image->transformImage3dTo2dArray(surfaceState);
2829
}
2930
}
3031
transformed = true;
3132
}
3233
void ImageTransformer::transformImagesTo3d(const KernelInfo &kernelInfo, const std::vector<Kernel::SimpleKernelArgInfo> &kernelArguments, void *ssh) {
3334
for (auto const &argIndex : argIndexes) {
35+
const auto &arg = kernelInfo.kernelDescriptor.payloadMappings.explicitArgs[argIndex];
3436
auto clMemObj = static_cast<cl_mem>(kernelArguments.at(argIndex).object);
3537
auto image = castToObjectOrAbort<Image>(clMemObj);
36-
auto surfaceState = ptrOffset(ssh, kernelInfo.kernelArgInfo.at(argIndex).offsetHeap);
38+
auto surfaceState = ptrOffset(ssh, arg.as<ArgDescImage>().bindful);
3739
image->transformImage2dArrayTo3d(surfaceState);
3840
}
3941
transformed = false;

0 commit comments

Comments
 (0)