Commit Graph

263 Commits

Author SHA1 Message Date
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
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
Kamil Kopryk
553cb16964 refactor: correct spelling reseting -> resetting
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-05-10 11:38: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 Hoppe
5e15543b14 test: improve unit tests - use virtual file system
- use virtualFileSystem in ULTs, writeDataToFile() does not create file
but instead saves filename. Call to fileExists() checks if file was
previously written

Related-To: NEO-7006

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-03-08 13:34:19 +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
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
Krzysztof Gibala
d18aa30352 test: use same pattern for zebin attribute decoding
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2024-01-10 13:17:22 +01:00
Mateusz Jablonski
0f5389b452 refactor: rename alias PARSE -> Parse
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-21 16:17:15 +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
895519db38 refactor: correct naming of NEOImageType enum values
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-12 11:15:28 +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
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 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
Mateusz Jablonski
104310b113 test(zebin): add test for non-zero slot in per_thread_memory_buffers
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-07 16:11:46 +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
Dunajski, Bartosz
2e9a7d7dca refactor: improve PVC unit tests
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-10-17 11:24:03 +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
Kacper Nowak
a0c35bf0d9 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-08-28 18:36:16 +02:00
Compute-Runtime-Validation
fc29170a7c Revert "feature(zebin): Re-introduce support for validation using PRODUCT_CON...
This reverts commit 6ffb689b58.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-08-24 19:52:40 +02:00
Kacper Nowak
6ffb689b58 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-08-24 15:16:56 +02:00