Commit Graph

291 Commits

Author SHA1 Message Date
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
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
Zbigniew Zdanowicz
f2d5e73f72 fix: correct elf decoder section name getter
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-12-19 11:54:21 +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
Dunajski, Bartosz
c612a86d28 feature: initial support for new zeinfo args
Related-To: NEO-8070

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-19 10:04:14 +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
Mateusz Jablonski
8c90350f3c refactor: correct naming of enum class constants 5/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-13 10:06:02 +01:00
Mateusz Jablonski
92838c05fd refactor: correct variable naming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-04 19:02:36 +01:00
Mateusz Jablonski
b92b5892b8 refactor: correct variable naming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-01 08:34:19 +01:00
Mateusz Jablonski
c3ac7b78bd refactor: correct variable naming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-01 02:18:46 +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
Mateusz Jablonski
36194c4e7d refactor: correct variable namings
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-29 23:49:03 +01:00
Mateusz Hoppe
7ffd151ac3 fix: adjust numArgsStateful based on binding table entries
- global and const buffer may have BTI index allocated, ssh template
must be allocated with size for all stateful args

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-11-23 12:15:39 +01:00
Kacper Nowak
1b932bf119 fix: allow legacy device binary validation logic for Blender on DG2 and MTL
Temporarily opt-out from additional compatibility checks
on DG2 and MTL for Blender and its derivatives AOT-compiled kernels.
This prevents a long kernel recompilation.

Additionally, same behavior can be enforced for other applications
manually via NEO debug key named DoNotUseProductConfigForValidationWa.

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
Related-To: NEO-9240
2023-11-21 16:05:17 +01:00
Mateusz Hoppe
3034d5834d fix: do not count samplers in numArgsStateful
- stateful samplers do not require SSH slots in bindless mode
- fixes abort when sampler used in bindless mode

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-11-20 13:10:35 +01:00
Kamil Kopryk
ae607502a0 feature: Add indirect data and scratch pointer to zeinfo
Related-To: NEO-7621
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-11-03 12:01:58 +01:00
Compute-Runtime-Validation
69f614a8c2 Revert "fix: allow legacy device binary validation logic for Blender on DG2 p...
This reverts commit d3d15542fb.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-10-24 21:00:19 +02:00
Kacper Nowak
d3d15542fb fix: allow legacy device binary validation logic for Blender on DG2 platforms
Temporarily opt-out from additional compatibility checks
on DG2 for Blender AOT-compiled kernels.
This prevents a long kernel recompilation.

Additionally, same behavior can be enforced for other applications
manually via NEO debug key named DoNotUseProductConfigForValidationWa.

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
Related-To: NEO-9240
2023-10-23 18:20:37 +02:00
Mateusz Jablonski
2ab4aeda85 fix: add static casts to destination type to avoid overflows in multiplication
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-06 14:55:24 +02:00
Kacper Nowak
0ead0dc1a1 feature(zebin): Re-introduce support for validation using PRODUCT_CONFIG value
Related-To: IGC-6300
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-09-19 14:52:31 +02:00
Mateusz Jablonski
91b26277a4 feature: add method to adjust hw info for igc
Related-To: NEO-8203

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-04 11:58:13 +02:00
Compute-Runtime-Validation
850d4baf89 Revert "feature(zebin): Re-introduce support for validation using PRODUCT_CON...
This reverts commit a0c35bf0d9.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-08-28 21:44:21 +02:00