Commit Graph

66 Commits

Author SHA1 Message Date
Mateusz Jablonski
2892e5a7f9 feature: add support for require_assert_buffer and require_sync_buffer in zeinfo
Related-To: NEO-16544, IGC-11358
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-10-28 13:51:41 +01:00
Mateusz Jablonski
95130b7256 fix: setup hasPrintfCalls in case of printfBuffer arg
in case of AOT kernels compiled with older encoder version
printf calls are present when printf buffer arg is present

Related-To: NEO-15211
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-09-23 15:23:24 +02:00
Mateusz Jablonski
04ad429e58 feature: propagate printf/indirect calls info from functions to kernel
Related-To: NEO-15211
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-09-18 11:22:18 +02:00
Mateusz Jablonski
678e2d66e9 feature: propagate hasPrintfCalls info from zeinfo to kernel descriptor
Related-To: NEO-15211
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-09-17 16:44:36 +02:00
Mateusz Hoppe
febe905a19 fix: set usesPrintf when .const.data.string present in elf
- printf_buffer argument may not be present when indirect access buffer
version==2
- deduce usesPrintf based on .const.data.string presence and required
iab for those cases

Related-To: NEO-15211, IGC-12385

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-09-05 13:52:27 +02:00
Mateusz Hoppe
feabf44722 fix: allow empty kernels entry in yaml
Related-To: NEO-16015

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-09-03 18:13:42 +02:00
Mateusz Jablonski
80359a4362 feature: store info related to indirect calls within kernel
Related-To: NEO-15211
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-08-28 10:19:40 +02:00
Mateusz Jablonski
49a946ffef feature: handle has_printf_calls and has_indirect_calls entries in zeinfo
bump zeinfo decoder to 1.59

Related-To: NEO-15211, NEO-15400
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-08-20 13:09:10 +02:00
Mateusz Jablonski
dd568b35b9 refactor: remove not needed code related to vme
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-07-29 10:00:23 +02:00
Arek G
fa7d69209c feature: Add interface for Ext area regarding payload args in zebin spec
Related-To: NEO-14899, IGC-11358

Signed-off-by: Arek G <arkadiusz.grubba@intel.com>
2025-07-25 15:34:25 +02:00
Compute-Runtime-Validation
f129707e8a Revert "feature: Add interface for Ext area regarding payload args in zebin s...
This reverts commit 695ef4877a.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-07-22 00:42:45 +02:00
Arek G
695ef4877a feature: Add interface for Ext area regarding payload args in zebin spec
Related-To: NEO-14899, IGC-11358

Signed-off-by: Arek G <arkadiusz.grubba@intel.com>
2025-07-21 19:13:46 +02:00
Mateusz Jablonski
5e43ee905d refactor: remove not needed logic related to vme
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-07-11 17:02:48 +02:00
Mateusz Jablonski
8b6aaceab4 refactor: remove not needed code related to cl accelerator
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-07-10 18:08:32 +02:00
Mateusz Hoppe
b7580a3998 fix: store image arg size in kernel descriptor
- use arg size when patching bindless offset

Related-To: HSD-18042502539

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-06-23 13:37:44 +02:00
Chen, Kai
1484e43bb7 feature: Add hasLscStoresWithNonDefaultL1CacheControls flag
Related-to: NEO-14563

Signed-off-by: Chen, Kai <kai.chen@intel.com>
2025-05-27 20:11:01 +02:00
Mateusz Hoppe
87e2114e42 feature(zebin): rename attribute to "require_iab"
- implicit_arg_buffer_used_by_code is replaced with require_iab

Related-To: NEO-14667

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-05-26 16:27:47 +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
Vysochyn, Illia
f99a4c2193 feature: Define thread group dispatch size according to kernel metadata
Related-To: NEO-10945

Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
2025-05-19 16:02:21 +02:00
Fabian Zwoliński
ee769f5983 fix: Add texture cache flush after kernels writing to images on imm cmdlists
- add `hasImageWriteArg` flag to KernelDescriptor,
based on image access qualifier
- add `isPostImageWriteFlushRequired` method to productHelper,
to require cache flush only on selected platforms
- if possible, add the `textureCacheInvalidationEnable` arg to the
existing PC, otherwise add a new PC

Related-To: NEO-13427, HSD-18041321008
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-04-17 16:04:31 +02:00
Vysochyn, Illia
146a7f7b9b feature: Add support for BUFFER_SIZE explicit argument
Related-To: NEO-13972

Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
2025-04-07 14:15:26 +02:00
Kamil Kopryk
7f607427fa fix: correct dsh generation
Don't use hardcoded sampler state and sampler border color state sizes.

Related-To: NEO-14216

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-03-14 21:18:38 +01:00
Grzegorz Choinski
c63ac8a049 fix: remove potential string's internal buffer overlaping if resized
based on: 92ea7ee7a3
fixes Release compilation for gcc12

Related-To: NEO-10767
Signed-off-by: Grzegorz Choinski <grzegorz.choinski@intel.com>
Co-authored-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-01-29 19:32:58 +01:00
Chodor, Jaroslaw
0938a0eaf9 feature: Adding support for extending KernerlDescriptor
Related-To: NEO-12747

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-01-25 12:08:27 +01:00
Kamil Kopryk
92ea7ee7a3 fix: remove potential string's internal buffer overlaping if resized
Related-To: NEO-10767
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-01-15 19:40:56 +01:00
Mateusz Hoppe
44264b2b5c fix: assume stateless access to buffers
- if buffers are not bindful or bindless, set stateless addressing mode
for buffers

Related-To: NEO-12800

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-12-30 12:22:23 +01:00
Chodor, Jaroslaw
49e904df74 feature: Parse actual_kernel_start_offset zeinfo entry
This is a deprecated and redundant entry but needs to
be preserved for compatibility reasons.

Related-To: GSD-10402
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-12-03 18:57:06 +01:00
Zbigniew Zdanowicz
6b7235cd6c refactor: change parameter names into more meaningful
- change additional size into local region size
- change walk order into dispatch walk order to distinguish for local id walk

Related-To: NEO-13350

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-11-27 16:15:02 +01:00
Bartosz Dunajski
ff80a02fcb refactor: parse extra zebin params
Related-To: NEO-12591

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-10-21 09:59:33 +02:00
Chodor, Jaroslaw
5463ddea06 feature: New forward-compatibility model for zeinfo
Up till now, NEO ignored uknown attributes in zeinfo
which could lead to undefined behavior. With this change
NEO will emit an error whenever an unknown attribute is
encountered.

Note : old behavior can be restored using new
IgnoreZebinUnknownAttributes debug environment variable

Resolves: NEO-11762

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-10-17 14:03:01 +02:00
Chodor, Jaroslaw
e11ceb4a20 feature: Adding support for parsing sip_surface_offset
Adding support for parsing sip_surface_offset in accordance
with zeinfo specification. This field is not used because
surface offset calculations are dynamic and zebin binary can
rely only on sip_surface_bti entry. However, failing to parse
this unused entry blocks NEO from moving to stricter
zebin validation.

Related-To: NEO-11762

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-10-17 00:10:43 +02:00
Compute-Runtime-Validation
ef2ae9e1b7 Revert "feature: New forward-compatibility model for zeinfo"
This reverts commit f1815f941d.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-08-21 00:27:42 +02:00
Chodor, Jaroslaw
f1815f941d feature: New forward-compatibility model for zeinfo
Up till now, NEO ignored uknown attributes in zeinfo
which could lead to undefined behavior. With this change
NEO will emit an error whenever an unknown attribute is
encountered.

Note : old behavior can be restored using new
IgnoreZebinUnknownAttributes debug environment variable

Resolves: NEO-11762

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-08-20 23:08:04 +02:00
Dominik Dabek
ad229377b9 fix: disable indirect detection if any stack calls
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>
2024-08-07 14:48:58 +02:00
Mateusz Hoppe
55e6d5c88d performance: program bindless sampler offsets only when necessary
- if samplers are not used, do not call the function amd do not iterate
all args

Related-To: NEO-11503

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-07-02 17:27:54 +02:00
Mateusz Hoppe
4c49a08017 feature: add inline samplers bindless addressing support
- inline samplers in bindless addressing mode requires bindless offset
passed in cross thread data

Related-To: NEO-11748

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-06-24 13:02:08 +02:00
Bartosz Dunajski
692def2c79 feature: region group barrier allocation support
Related-To: NEO-11031

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-06-03 18:34:54 +02:00
Bartosz Dunajski
cc8b5ee972 feature: add support for new ze_bin wg barrier token
Related-To: NEO-11031

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-05-31 11:04:50 +02:00
Dominik Dabek
ae8c7589dc refactor: move implicit arg has indirect access
Move implicit arg has indirect access boolean to kernelAttributes

Related-To: NEO-11396

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-05-15 13:11:04 +02:00
Dominik Dabek
fd47030ad6 fix: use igc indirect detection v3
Update to use igc indirect detection v3. Fix for not detecting indirects
passed as implicit arguments.

Related-To: NEO-11396

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-05-15 06:35:42 +02:00
Mateusz Hoppe
77b817a15c fix: fail when invalid zebin is decoded
- bindless + bindful accesses in single kernel are not supported

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-05-09 15:53:00 +02:00
Mateusz Hoppe
f86d4220a5 feature: add bindless samplers support to level zero
- samplers using bindless adressing require patching bindless offsets to
sampler states on kernel's cross thread data

Related-To: NEO-10505

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-03-29 08:07:28 +01:00
Mrozek, Michal
f71f6d2b72 refactor: remove not needed code
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2024-03-08 18:18:55 +01:00
Mateusz Jablonski
dd7083d710 feature(zebin): add support for spill/private size in execution env
add fallback to previous logic based on zeinfo version

Related-To: NEO-9944
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-01-23 17:26:43 +01:00
Mateusz Jablonski
a697a3f718 refactor: create new members for storing spill and private memory in scratch
rename private scratch space into scratch space slot 1 as it can be generic

Related-To: NEO-9944
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-01-23 12:42:25 +01:00
Compute-Runtime-Validation
f9f9035b95 Revert "refactor: create new members for storing spill and private memory in ...
This reverts commit 87eb5f554a.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-01-23 09:13:00 +01:00
Mateusz Jablonski
87eb5f554a refactor: create new members for storing spill and private memory in scratch
rename private scratch space into scratch space slot 1 as it can be generic

Related-To: NEO-9944
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-01-22 19:48:48 +01:00
Dominik Dabek
e0ccf22557 fix: indirect access in external functions
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>
2024-01-18 15:29:41 +01:00
Maciej Plewka
b348eaf29f fix: use required walk order
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>

Related-To: NEO-10014
2024-01-15 13:44:56 +01:00
Fabian Zwolinski
903e581b5f fix: add support for bindless implicit args
Support for:
global_base and const_base in bindless addressing mode.

Related-To: NEO-9855
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2024-01-12 01:27:17 +01:00