- 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>
- 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>
- 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>
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>
The `getNumKernels` function now returns the kernel count based on the
actual device (`rootDeviceIndex`) the program was built for, ensuring
accurate kernel enumeration in multi-device scenarios. The
`rootDeviceIndex` is determined using `getDevicesInProgram`.
Related-To: NEO-15441
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
- when unpackSingleDeviceBinary is not called zebin should be dumped
if debug key is set
Related-To: NEO-14153
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
Pass hwInfo to isHeaplessModeEnabled and isForceBindlessRequired functions.
Related-To: NEO-14526
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
- when kernels share single allocation, LOAD address in program headers
should point to correct virtual address including kernel offset
Related-To: NEO-7788, GSD-9836
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
Don't know if kernels will be initialized in the order needed to check
for indirect accesses in stack calls.
Remove now unused functionPointerWithIndirectAccessExists and reading
this value from zebin.
Related-To: NEO-12235
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
Read indirect_stateless_count in module external functions.
If greater than 0, mark all kernels that have the has_stack_calls flag
set from this module as having indirect accesses.
Related-To: NEO-7712
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
Read indirect detection version intel compat notes from zebin.
This is to prepare for enabling indirect access optimization in AOT
built kernels.
Related-To: NEO-7712
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-6075
Ngen binaries contain stateful information, however they are
not used in isa on Pvc. Therefore, we can just ignore them.
The indexes of all returned kernelInfo values greater than or equal to
exportedFunctionsKernelId should be incremented by one
Related-To: NEO-7820
Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
* 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>
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>
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>
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>