Commit Graph

191 Commits

Author SHA1 Message Date
Kacper Nowak
1a4755694e feat(zebin): Add support for SHT_ZEBIN_GTPIN_INFO type section
This commit adds support for decoding SHT_ZEBIN_GTPIN_INFO type
sections. For each section, passed data will be stored in kernel info
(for corresponding kernel).

Related-To: NEO-7689
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-02-10 16:21:59 +01:00
Kacper Nowak
7790e208fd feat(zebin): Add support for ELF section type SHT_NOBITS
This commit adds support for parsing SHT_NOBITS zebin's ELF sections
(containing global/constant zero-initialized data).
- Correction: in CTNI path, do not add related symbol if surface has not
been allocated.

Related-To: NEO-7196
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-02-10 16:17:16 +01:00
Kamil Kopryk
cab4b956eb refactor: rename compiler product helper files
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-02-03 09:03:24 +01:00
Compute-Runtime-Validation
d0c0c60205 Revert "feat(zebin): Add support for ELF section type SHT_NOBITS"
This reverts commit fa03aa9a40.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-02-03 03:44:02 +01:00
Kacper Nowak
fa03aa9a40 feat(zebin): Add support for ELF section type SHT_NOBITS
This commit adds support for parsing SHT_NOBITS zebin's ELF sections
(containing global/constant zero-initialized data).

Related-To: NEO-7196
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-02-02 14:54:51 +01:00
Rafal Maziejuk
67ebc5d7fe Delete redundant adjustHwInfoForIgc method
Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
2023-01-24 15:08:21 +01:00
Krystian Chmielewski
2ed168dc15 refactor(zebin): prioritize AOT config when validating
When validating zebin for target device. If AOT config (device
identification number) is present then use it for device validation,
and skip old checks (Core Family, Product Family).

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2023-01-24 11:44:00 +01:00
Kamil Kopryk
235385abc9 refactor: Remove global CompilerProductHelper gettter 1/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-20 17:17:50 +01:00
Mateusz Jablonski
6110cbe42e fix(zebin): adjust hw info for IGC when getting target device for validation
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-01-17 10:22:02 +01:00
Krystian Chmielewski
7c408c23b2 refactor(zeinfo): improve code readibility
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2023-01-12 09:33:00 +01:00
Krystian Chmielewski
614928ed45 refactor(zebin): decouple zeInfo decoding
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2023-01-10 12:27:10 +01:00
Krystian Chmielewski
525c535ba4 zebin: remove bti check for global base args
Remove validation of bti for "const_base", "global_base" arguments.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2023-01-09 12:48:07 +01:00
Mateusz Jablonski
43b790957d style: format code using clang-format 15.0.6
Related-To: NEO-7500
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-01-05 10:33:47 +01:00
Mateusz Jablonski
4647180c76 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 13:48:16 +01:00
Warchulski, Jaroslaw
d793f37dd8 Cleanup includes 20
Cleaned up files:
opencl/source/cl_device/cl_device.h
opencl/source/helpers/properties_helper.h
opencl/source/program/program.h
shared/source/device_binary_format/debug_zebin.h
shared/source/device_binary_format/elf/zebin_elf.h
shared/source/program/program_info.h
shared/source/utilities/heap_allocator.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-03 14:42:08 +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
Kamil Kopryk
234573399d Refactor: pass gfxCoreHelper to decodeSingleDeviceBinary
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-02 08:17:46 +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
Kacper Nowak
a9dc0f7177 fix(zebin): add missing ULT for global/const buffers scenario
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-12-28 13:03:15 +01:00
Kamil Kopryk
929e03ad8a Refactor: don't use global ProductHelper getter in shared files 1/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-27 12:53:43 +01:00
Compute-Runtime-Validation
18a6b4dd9f Revert "fix(zebin): add missing ULT for global/const buffers scenario"
This reverts commit a526b91262.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-12-22 22:27:57 +01:00
Kacper Nowak
a526b91262 fix(zebin): add missing ULT for global/const buffers scenario
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-12-21 18:21:21 +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
Kamil Kopryk
232b886056 Rename HwInfoConfig to ProductHelper
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-14 14:39:52 +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
Mateusz Jablonski
23fd280334 Unify definition of hardware ip version
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-12-06 17:22:24 +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
Krystian Chmielewski
d25a5c73f2 fix(ocl zebin): do not expose functions as kernels
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-12-05 12:39:18 +01:00
Krystian Chmielewski
d4fe9298bf fix(debug zebin): handle misaligned access
Handle misaligned access when aplying debug relocations in zebin.
Debug relocations entries have offsets which are not of natural
alignment, and need to be specificialy handled.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-12-01 10:45:17 +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
f35f59b573 Cleanup includes 5
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-18 22:46:38 +01:00
Mateusz Jablonski
5f8cc9b99b Remove commented code
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-15 14:20:17 +01:00
Kacper Nowak
966aa460f7 feat(yaml_parser): Correct parsing whitespaces-separated strings
Fix given scenarios in yaml parsings:
- Correct reading string containing multiple words separated by a
whitespace (space/tab) on token value retrieving
- Remove any unnecessary whitespaces from the end of a string on token
value retrieving

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-11-15 12:48:17 +01:00
Warchulski, Jaroslaw
e4d10e5460 Cleanup includes 4
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-10 14:22:18 +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
Krystian Chmielewski
7be9881758 Fix 32b elf symbols
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-11-08 15:30:21 +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
Mateusz Hoppe
a30cc94708 Zebin - fix program headers
- do not add CPU segment LOAD in debug zebin

Resolves: NEO-7481

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-11-08 12:32:19 +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