Commit Graph

94 Commits

Author SHA1 Message Date
Compute-Runtime-Validation
aaa9342141 Revert "fix: improve parsing relocations in external usage"
This reverts commit 65d883bc9d.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-09-29 10:05:58 +02:00
Mateusz Jablonski
65d883bc9d fix: improve parsing relocations in external usage
ignore relocations for symbols with undefined section

Related-To: NEO-16243
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-09-26 16:33:11 +02:00
Mateusz Hoppe
12263b2e7c fix: implicit arg buffer
- refactor validating target device and dcoding Intel GT Notes
- decoded versions are stored in singleDeviceBinary when decoding zebin
- adds parsing Intel GT notes from elf when unpacking binary
- sets indirectAccessBufferMajorVersion with correct value
- fix ImplicitArgsV1 - add simdWidth
- use correct simd size in patchImplicitArgs()

Related-To: NEO-16167, NEO-15211, IGC-12358

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-09-24 09:23:23 +02:00
Mateusz Jablonski
49293fcac6 refactor: store special relocation names as string_view
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-09-23 14:33:40 +02:00
Compute-Runtime-Validation
2db8fc266a Revert "refactor: store special relocation names as string_view"
This reverts commit 1bf6431030.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-09-19 03:24:48 +02:00
Mateusz Jablonski
1bf6431030 refactor: store special relocation names as string_view
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-09-18 15:05:02 +02:00
Mateusz Jablonski
8310b10987 fix: correct resolving external functions dependencies
respect scenario when dependency comes from separate module

Related-To: NEO-15211
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-09-18 13:47:08 +02:00
Compute-Runtime-Validation
10c37fbb78 Revert "fix: correctly set unpacked device binary prior decoding"
This reverts commit 60d5484e6b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-09-17 05:06:35 +02:00
Mateusz Hoppe
60d5484e6b fix: correctly set unpacked device binary prior decoding
- add parsing Intel GT notes from elf when unpacking binary
- set indirectAccessBufferMajorVersion with correct value

Related-To: NEO-15211, IGC-12385

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-09-16 07:33:40 +02:00
Fabian Zwoliński
a2f60af5c6 fix: change global Var/Const Buffer type to SharedPoolAllocation
This is prep work for the future implementation of pooling these allocations.

Related-To: NEO-12287
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-08-19 17:29:34 +02:00
Mateusz Hoppe
b17ed79618 fix: update implicitArgs versions
- fix layout of implicit args
- add enqueued local size and sync buffer ptr

Related-To: NEO-15160

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-07-22 15:12:55 +02:00
Chodor, Jaroslaw
a1da10ea75 feature: Adding support for zebin's .text section
Related-To: NEO-12229

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-07-16 15:01:44 +02:00
Naklicki, Mateusz
b462f990b6 fix: prevent underflow in per thread data offset calculation
Related-To: NEO-14719

Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2025-06-23 09:39:39 +02:00
Mateusz Hoppe
c4bfe4e487 feature(zebin): add implicit_arg_buffer_used_by_code exec env support
Resolves: NEO-14667

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-05-23 17:11:14 +02:00
Mateusz Jablonski
6e20cbc05f fix: patch relocations byte-wise
there is no restriction for alignment of relocation offset

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-05-12 15:33:12 +02:00
Mateusz Hoppe
a56785f8b0 feature: add support for 64bit cross thread offset relocation
Resolves: NEO-14865

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-05-08 15:04:25 +02:00
Mateusz Hoppe
d3b11d1527 fix: correctly patch implicit arg buffer in indirect data
- use correct size alignment of implicit arg buffer, crossthread data
should start after the buffer without extra padding

Related-To: NEO-14449

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-05-06 13:25:11 +02:00
Compute-Runtime-Validation
26d3c7527c Revert "fix: correctly patch implicit arg buffer in indirect data"
This reverts commit e345d55fe5.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-05-06 04:38:50 +02:00
Mateusz Hoppe
e345d55fe5 fix: correctly patch implicit arg buffer in indirect data
- use correct size alignment of implicit arg buffer, crosshtread data
should start after the buffer without extra padding

Related-To: NEO-14449

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-05-05 16:03:57 +02:00
Jaroslaw Warchulski
3e1aa33924 refactor: cleanup headers
Related-To: NEO-5548
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-04-14 14:59:40 +02:00
Mateusz Hoppe
34dad4d3de refactor: store implicit args version in kernel
- adjust tests to work with implicitargs v0 and v1

Related-To: NEO-14115

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-03-10 22:58:57 +01:00
Mateusz Hoppe
291745cdf7 feature: add support for ImplicitArgs versioning
- define ImplicitArgs version 1

Related-To: NEO-14115

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-02-25 10:27:11 +01:00
Filip Hazubski
fe23e7fa40 refactor: Explicitly delete unused functions of LinkerInput
Comply with the rule of five.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-11-18 09:50:11 +01:00
Fabian Zwoliński
04af8bc5b4 fix: add support for __INTEL_PER_THREAD_OFF
Related-To: NEO-10368
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2024-05-21 17:50:43 +02:00
Maciej Plewka
b755a30919 fix: patch correct payload offset value in relocation
Related-To:: GSD-8116
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-05-21 06:12:03 +02:00
Timo Aaltonen
cb984b3e4b fix: Fix various typos.
Signed-off-by: Timo Aaltonen <tjaalton@debian.org>
2024-04-17 20:03:06 +02:00
Mateusz Jablonski
a4888b39c6 build: add clang-tidy restriction for Enum case
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-21 08:58:51 +01:00
Mateusz Jablonski
a6458433dc refactor: correct naming of enum class constants 9/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-19 10:36:25 +01:00
Mateusz Jablonski
dd1b9d6abc refactor: correct naming of enum class constants 8/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-19 08:18:18 +01:00
Dunajski, Bartosz
d99104d5bf refactor: improve ImplicitArg struct handling
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-18 15:19:00 +01:00
Mateusz Jablonski
c9664e6bad refactor: rename global debug manager to debugManager
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-30 13:00:59 +01:00
Naklicki, Mateusz
ff57bec1f0 fix: ignore subDeviceId token instead of skipping builtins resolve
Previous implementation skipped resolving the subDeviceId token, which
caused in returning the LinkedPartially status if token was present.
It could result in ZE_RESULT_ERROR_INVALID_MODULE_UNLINKED when kernel
was created and crashing an app.

Related-To: NEO-6875, HSD-14015133115
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2023-09-05 16:26:44 +02:00
Naklicki, Mateusz
20862ad8fd fix: resolve builtins depending on the product
Related-To: NEO-6875
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2023-08-29 15:25:08 +02:00
Fabian Zwolinski
6fca8ee195 refactor: Remove SourceLevelDebugger
Removed:
- SourceLevelDebugger (with tests)
- DebuggerLibrary
- DebuggerLibraryRestore
- debuggerSupported field from hwInfo.capabilityTable
- HasSourceLevelDebuggerSupport matcher
- ExperimentalEnableSourceLevelDebugger debug var
- EnableMockSourceLevelDebugger debug var
- DebuggerOptDisable debug var
- lib_names.h.in file
- third_party/source_level_debugger/igfx_debug_interchange_types.h

Related-To: NEO-7213
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-08-10 11:14:02 +02:00
Fabian Zwolinski
3f92f044a3 refactor: Remove default support for DCD Debugger
Related-To: NEO-7213
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-05-22 15:16:27 +02:00
Compute-Runtime-Validation
ca51e557a2 Revert "Remove default support for DCD"
This reverts commit a3e923e359.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-04-20 04:41:33 +02:00
Fabian Zwolinski
a3e923e359 Remove default support for DCD
Related-To: NEO-7213
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-19 19:18:48 +02:00
Krystian Chmielewski
58d3f892a9 refactor(zebin): move files to seperate directory
* Moved zebin related files to zebin directory.
* Moved zebin related code to Zebin namespace.
* Separated zeInfo from zebin elf.
* Seperated zeInfo decoding from zebin decoder.
* Refactored populateKernelPayloadArgument function.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2023-03-03 21:48:19 +01:00
Compute-Runtime-Validation
84a7438ff2 Revert "refactor(zeInfo): move zeinfo to seperate file"
This reverts commit e3ce887662.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-03-03 11:56:52 +01:00
Krystian Chmielewski
e3ce887662 refactor(zeInfo): move zeinfo to seperate file
* Moved zebin related files to zebin directory.
* Separated zeInfo from zebin elf.
* Seperated zeInfo decoding from zebin decoder.
* Refactored populateKernelPayloadArgument function.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2023-03-02 12:46:56 +01:00
Krystian Chmielewski
5caf7f7290 feat(linker): allow use of local symbols
This commit adds support for handling local symbols.
* Added 2 fields to SymbolInfo - binding, and associated
instructions segment id.
* Simplified code for decoding elf symbols and relocations.
* Simplified code for patching instruction segments.
* Changed logic of decodeElfSymbolTableAndRelocations:
* Add every global symbol to symbol map.
* Add any local symbol used by relocation to symbol map.
* Changed logic of link:
* After performing relocations remove local symbols from map.
* Replaced UNRECOVERABLE_IF with returning error.
* Removed LocalSymbolInfo structure used before for local kernel jumps.
* Removed old tests.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2023-03-02 12:39:21 +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
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
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
Luzynski, Sebastian Jozef
91c69e0fe7 Patch global variables and constants once
This change replaces mechanism of patching global constants and
variables in kernel per relocation to patching them only once. This
would improve linking time performance for kernels with multiple global
symbols.

Signed-off-by: Luzynski, Sebastian Jozef <sebastian.jozef.luzynski@intel.com>
2022-11-03 17:45:09 +01:00
Kacper Nowak
710c8cf5ef Linker: add support for symbols with local binding
This commits add support for relocating
symbols with local binding and of functional type
(STB_LOCAL, STT_FUNC).

Related-To: NEO-7299
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-09-08 14:50:29 +02:00
Kacper Nowak
497e5a4765 Zebin: Create mock zebin module for L0 common test module
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-08-17 15:12:49 +02:00
Kacper Nowak
44d218e52e Linker: Add support for relocation type PerThreadPayloadOffset
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-08-16 19:14:27 +02:00
Dominik Dabek
0263ec0d84 Add test kernel for indirect allocations
Add kernel for testing indirect allocation
address getting passed by value.

Needed for future commit.

Related-To: NEO-6597

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-08-11 14:00:06 +02:00