Commit Graph

110 Commits

Author SHA1 Message Date
Compute-Runtime-Validation
5a6d358166 Revert "refactor: remove platform type string"
This reverts commit 58b443ecf1.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-01-04 11:08:51 +01:00
Mateusz Jablonski
58b443ecf1 refactor: remove platform type string
this property is no longer needed as we compile kernels per product family

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-01-04 09:26:29 +01:00
Warchulski, Jaroslaw
0eac749fcc Cleanup includes 19
Cleaned up files:
opencl/source/api/cl_types.h
shared/source/compiler_interface/external_functions.h
shared/source/compiler_interface/linker.h
shared/source/device_binary_format/elf/elf.h
shared/source/helpers/preamble.h
shared/source/memory_manager/definitions/storage_info.h
shared/source/memory_manager/memory_manager.h
shared/source/memory_manager/os_agnostic_memory_manager.h
shared/source/program/program_info.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-03 11:02:05 +01:00
Kacper Nowak
a262bffeb4 feat(ocl): Generate minimal set of args info
Provide minimalistic arg info metada when provided native binary is missing
kernels_misc_info section.
- For args passed by value and by pointer (-images/samplers), do not
specify type name - instead, return an opaque* type name with size.
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-12-29 20:11:39 +01:00
Compute-Runtime-Validation
8d18a0cd12 Revert "feat(ocl): Generate minimal set of args info"
This reverts commit ea6c91eccc.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-12-29 07:07:32 +01:00
Kacper Nowak
ea6c91eccc feat(ocl): Generate minimal set of args info
- Provide minimalistic arg info metada when provided native binary is missing
kernels_misc_info section.
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-12-28 20:24:44 +01:00
Kacper Nowak
5dbcb4b4d5 fix(zebin): set max BT indexes for globals/const buffers
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-12-20 18:30:45 +01:00
Kacper Nowak
7b8d1925a9 feat(zebin): Use AOT config for validating target device
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-12-15 22:25:56 +01:00
Krystian Chmielewski
b2a51146a5 feat(zebin): support data const/global buffer arg
Add support for kernel payload arguments describing data const and
data global buffers in zeInfo.

Argument contains:
* Offset in cross thread data where buffer's address should be written to.
To be removed later. Relocations should be used instead.
* Index in binding table where corresponding Surface State should be present.
Required for bindful access to data buffers.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-12-14 16:52:35 +01:00
Dunajski, Bartosz
4c325d2706 Add new entry to zebin decoder
Related-To: NEO-7085

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-12-13 13:32:51 +01:00
Krystian Chmielewski
2ceada6bef fix(zebin): ray tracing
Previous implementation was missing crucial part.
When ray tracing global buffer argument is passed set
hasRTCalls to true.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-12-05 16:50:45 +01:00
Mateusz Jablonski
f7c11e8a94 Fix typos
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-29 17:12:10 +01:00
Krystian Chmielewski
b2051003f9 feat(zebin): support rt global buffers
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-11-28 17:25:32 +01:00
Krystian Chmielewski
ad6237478f feat(zebin): support isPtr for struct elems
Add support in zeInfo for "is_ptr" payload argument describing if field
of structure (argument passed by value) is a pointer.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-11-28 16:00:03 +01:00
Krystian Chmielewski
0e5b0b1173 feat(zebin): add eu_thread_count exec env attrib
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-11-22 16:43:37 +01:00
Kacper Nowak
fd691cd33c feat(zebin): Do not report attributes values with spaces
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-11-22 13:44:12 +01:00
Krystian Chmielewski
eee6a2439f fix(zebin): intel_reqd_sub_group_size
Read intel_reqd_sub_group_size attribute and return it for
CL_KERNEL_COMPILE_SUB_GROUP_SIZE_INTEL getSubgroupInfo.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-11-22 10:13:21 +01:00
Kacper Nowak
50df7f430e feat(zebin): Support for is_pipe ptr argument attribute
Pipe qualifier must be set (known) on kernel initialization in order
to properly chose kernel arg handler. A new attribute is_pipe has been
introduced; this commit adds support for it.

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-11-21 16:19:36 +01:00
Warchulski, Jaroslaw
1c03361273 Cleanup includes 6
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-21 12:02:14 +01:00
Kacper Nowak
4d6bb9a807 fix(zebin): use arg type name without size
OpenCL expects args type names without additional information (type size).
- Use only the part up to the delimiter, without quotes

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-11-09 14:34:24 +01:00
Krystian Chmielewski
62ed04d5c1 feat(zebin): add platform compatibility check
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-11-08 19:05:06 +01:00
Kacper Nowak
a12251d464 feat(zebin): code improvements
- Set initial value for ArgIndexT index in
KernelArgMiscInfoT struct
- Add check for arg index in extended metadata in order to avoid OOB
accesses
- Fix missing: populating ArgTypeTraits + refactor ULTs in order to
check it
- Add missing ULTs for Program::callPopulateZebinExtendedArgsMetadataOnce

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-11-08 14:10:55 +01:00
Kacper Nowak
709e322a4a feat(zebin): get extended args metadata on clGetKernelArgInfo API call
This commit adds support for retrieving extended args metadata passed in
.kernel_misc_info zeInfo's section on clGetKernelArgInfo call.

Related-To: NEO-7372
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-11-03 13:15:09 +01:00
Krystian Chmielewski
70da7c4b65 feat(zebin): add support for sync buffer
Adds support in zebinary for sync buffer required for global barriers.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-10-28 08:59:28 +02:00
Kacper Nowak
b1731626d0 Correct spelling mistakes
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-10-20 15:53:23 +02:00
Kacper Nowak
22dbae1771 feat(zebin): Add support for .kernel_arg_metadata section.
This commit adds support for parsing new .kernel_arg_metadata zeInfo's section,
which will be parsed only on demand (it won't get parsed on initial
zeInfo parsing).

Usage of populated structs will be added in the next commit.
Implemented section's parsing, decoding & populating corresponding fields in
kernelDescriptor.

Related-To: NEO-7372
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-10-20 14:20:32 +02:00
Kacper Nowak
f06df021b5 feat(zebin): Add support for indirect stateless count
Add support for newly added indirect statelss count check;
populate related field in kernelInfo.
- Move hasIndirectStatelessAccess check from KernelInfo to
KernelDescriptor.

Related-To: NEO-7428
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-10-19 07:58:02 +02:00
Krystian Chmielewski
a8c9458936 Unpack 32bit zebin correctly
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-10-13 21:10:03 +02:00
Krystian Chmielewski
4f0d19628e Ocloc asm/disasm support for zebin
This commit adds option to disassemble and assemble zebinary.

Disasm disassembles zebinary into sections. Text sections are
translated to assembly, relocations and symbols are
translated into human readable format.

Asm assembles zebinary from files generated by disasm.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-10-10 14:48:55 +02:00
Krystian Chmielewski
73a58aaf9e feat(zebin): inline sampler
Add support for inline samplers in zebin.
Generate required SAMPLER_STATEs in DSH.

Resolves: NEO-7388

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-10-10 12:47:19 +02:00
Kacper Nowak
d4cddc7ecd Zebin: fix segfault in zebin decoder
Current implementation of getIntelGTNotes function causes
segfault in case empty owner name string would be passed.
This commit removes potential out-of-bound array access.
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-10-07 17:32:09 +02:00
Krystian Chmielewski
596e9f815c 32bit zebin support
This commit adds support for 32 bit zebinary in NEO runtime and in
ocloc validate.

Resolves: NEO-7288

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-09-27 11:12:05 +02:00
Krystian Chmielewski
311b0b0020 Create input for linker during zebin decoding
Remove code duplication. Parsing zebin elf for relocations and symbols
is moved to decodeSingleDeviceBinary.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-09-22 11:12:39 +02:00
Krystian Chmielewski
1f6c09ba1d zebin: sanitize scratch space size
Sanitize scratch space size to value programmable on GPU.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-09-09 11:50:09 +02:00
Krystian Chmielewski
5af2bc8a60 zebin: add support for kernels source attributes
This commit adds parsing of "user_attributes" section of zeInfo
containing kernel's language attributes.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-09-08 12:07:19 +02:00
Zbigniew Zdanowicz
c3f7e40a8d Rename special pipeline select mode to systolic
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-08-31 22:16:26 +02:00
Compute-Runtime-Validation
7319d05469 Revert "feat(zebin): set missing pointer size for arg type buffer address"
This reverts commit cc17c53a77.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-08-19 06:54:59 +02:00
Kacper Nowak
cc17c53a77 feat(zebin): set missing pointer size for arg type buffer address
Set missing pointer size for argument type buffer address in zebin.
This PR is related to test failures after merging corresponding IGC
change.

Related-To: IGC-5486
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-08-18 20:37:24 +02:00
Krystian Chmielewski
18adbed233 feat(zebin): add thread scheduling mode support
Resolves: NEO-7197

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-08-18 16:10:18 +02:00
Krystian Chmielewski
70ef88c0bb feat(zebin): add sampler metadata support
This commit adds support for sampler's metadata in zebinary and
updates some image's metadata field names.

Resolves: NEO-7257

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-08-16 10:11:01 +02:00
Krystian Chmielewski
9bd2c7da2b refactor(zebin decoder): parsing enums
This commit simplifies parsing of enums in zebin decoder and removes
unnecessary tests.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-08-10 23:36:25 +02:00
Kacper Nowak
f219617823 Zebin: Do not fail on parsing unrecognized intelGT note types
When an IntelGT note type is not recognized, skip it instead of
returning negative target device validating result.
Related-To: NEO-7190
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-08-10 17:04:22 +02:00
Krystian Chmielewski
eecde9114a feat(zebin): add image metadata support
This commit adds support of image metadata in zebin format.

Resolves: NEO-7251

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-08-10 00:06:51 +02:00
Kacper Nowak
f774deffa7 Zebin: ZEBinary ELF versioning in intelNoteGT section
This commit adds support for new ZEBinary ELF versioning mechanism.
- Add new IntelGTSecionType: ZebinVersion
- Add mechanism for retrieving zeInfo/elf version in intel.notegt
section
Related-To: NEO-7190
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-08-09 17:58:12 +02:00
Compute-Runtime-Validation
0eb2001d8f Revert "Check indirect access from igc"
This reverts commit e5d63cd303.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-07-22 04:39:16 +02:00
Dominik Dabek
e5d63cd303 Check indirect access from igc
Also add workaround for app passing svm pointers by value

Related-To: NEO-7182

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-07-21 12:25:24 +02:00
Kacper Nowak
0a4ab48e0b Zebin: Remove actual_kernel_start_offset from execEnv
This change is needed to bump zeInfo version beyond 1.6
- Version 1.6: Remove actual_kernel_start_offset from execution environment.

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-07-20 11:24:28 +02:00
Compute-Runtime-Validation
f9888db0fb Revert "Check indirect access from igc"
This reverts commit e14c91fa6c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-07-16 07:36:49 +02:00
Dominik Dabek
e14c91fa6c Check indirect access from igc
Related-To: NEO-7182

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-07-15 15:01:48 +02:00
Nowak, Kacper
b3d94add4b Set missing field for buffer_address kernel arg type
Set missing pointerSize (basing on source size field) for buffer_address arg
type.
Signed-off-by: Nowak, Kacper <kacper.nowak@intel.com>
Related-To: NEO-7048
2022-06-15 16:49:11 +02:00