Commit Graph

312 Commits

Author SHA1 Message Date
Mateusz Jablonski a81c1f38d2 refactor: cleanup duplicated NOLINT comments
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-04-23 15:15:20 +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
Filip Hazubski cff9ea3966 performance: Use std::move when initializing RelocationInfo
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2025-02-18 20:47:52 +01:00
Filip Hazubski c651209617 fix: Add asserts to ensure NonCopyable and NonMovable 2/n
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2025-02-18 13:08:00 +01:00
Filip Hazubski 4c7900008f refactor: Change wording from NonCopyableOrMovable to NonCopyableAndNonMovable
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2025-02-17 14:19:10 +01:00
Chodor, Jaroslaw a65d4da88b refactor: prevent copy/move on KernelDesc and ZebinExecEnv
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-02-04 11:30:13 +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
Chodor, Jaroslaw 9e4513914f feature: Adding support for extending ExecutionEnvironment
Related-To: NEO-12747

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-01-24 22:52:50 +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
Compute-Runtime-Validation af031ee0e3 Revert "performance: align structures for 64-bit platforms"
This reverts commit 9f07f56f7f.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-01-15 09:02:01 +01:00
Semenov Herman (Семенов Герман) 9f07f56f7f performance: align structures for 64-bit platforms
Signed-off-by: Semenov Herman (Семенов Герман) <GermanAizek@yandex.ru>
2025-01-09 06:03:39 +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
Wojciech Konior c65b45471b feature: support binary compatibility across multiple HW targets
- EnableCompatibilityMode flag added
- validateTergetDevice func modified to take into account the flag

Related-To: NEO-11568

Signed-off-by: Wojciech Konior <wojciech.konior@intel.com>
2024-11-04 16:53:57 +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
Artur Harasimiuk 00aedcaed4 refactor: add NOLINT for pending problems
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2024-10-10 11:46:35 +02:00
Michal Mrozek 363aca782f refactor: remove not needed code.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2024-09-19 18:50:16 +02:00
Mateusz Hoppe 37b7caa137 fix: correct program header generation for shared isa allocation
- 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>
2024-09-03 17:50:29 +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
Fabian Zwoliński 35c5b4f26c fix: add Hex support to Yaml Parser
Related-To: NEO-9630
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2024-06-26 15:31:32 +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
Kamil Kopryk 3830423b3a refactor: correct typo
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-05-21 13:01:05 +02:00
Chodor, Jaroslaw 4116dd5c9e feature: Improving elf rewriter - preserving strings
Original string section needs to be preserved so that
symbol table does not get broken.

Related-To: NEO-10190

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-05-20 22:29:51 +02:00
Chodor, Jaroslaw 90927135f9 feature: Adding elf rewriter utility
It will aid in various elf patching tasks both in ocloc
and UMD

Related-To: NEO-10190

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-05-20 13:44:11 +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
Filip Hazubski eaa80073ee performance: pass binary by reference
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-03-25 10:48:05 +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
Mateusz Jablonski 6e27727090 fix: bump zeinfo decoder version to 1.38
Related-To: NEO-10041
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-01-22 12:47:21 +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
Dominik Dabek b3b402cad2 feature(zebin): read indirect detection version
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>
2024-01-12 14:20:52 +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