Commit Graph

271 Commits

Author SHA1 Message Date
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
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
Compute-Runtime-Validation 6c9a68340a Revert "feature(zebin): Re-introduce support for validation using PRODUCT_CON...
This reverts commit e466fcd7be.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-13 07:55:32 +02:00
Kacper Nowak e466fcd7be 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-07-12 18:29:35 +02:00
Kacper Nowak 1fba2a162e fix(zebin): Do not use NT_INTELGT_PRODUCT_CONFIG for target device validation
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-07-04 16:22:55 +02:00
Kacper Nowak 12f597bc72 fix(zebin): corrections related to IntelGT notes + bump ZEInfo version
- Value correction: IntelGTSectionType::ProductConfig to 6, add new type
IntelGTSectionType::vISAAbiVersion = 5 - currently ignored by the
runtime
- For zebin manipulator: allow to extract PRODUCT_FAMILY from AOT
productConfig - required by IGA wrapper for binary encoding/decoding +
add tests
- Bump ZEInfo version to the latest: 1.32
Related-To: IGC-6300
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-06-22 15:41:01 +02:00
Mateusz Hoppe 313fb84fda feature: bindless addressing mode support
- allow bindless kernels to execute
- bindless addressing kernels are using private heaps mode
- do not differentiate bindful and bindless surface state base addresses

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-06-19 12:41:03 +02:00
Mateusz Hoppe 646c8985e8 refactor: store number of stateful args in KernelDescriptor
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-06-12 14:15:43 +02:00
Kamil Kopryk 6a0f7afd64 feature: verify stateful information only when binary is generated by IGC
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.
2023-06-12 11:45:41 +02:00
Mateusz Hoppe e017ed0be9 feature(zebin): set bindless adressing modes in kernel attributes
- when bindless adressing is set in zeinfo, kernel attributes should
reflect that.

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-05-30 19:17:36 +02:00
Mateusz Jablonski c544004b8e fix: move getProductConfigFromHwInfo to CompilerProductHelper
add tests for default PVC configs

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-29 14:08:52 +02:00
Daria Hinz 331f167cfe feature: Add debug flag for setting hw ip version
Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-7954
2023-05-23 15:32:46 +02:00
Fabian Zwolinski cbce863dc2 refactor: Rename member variables to camelCase 3/n
Additionally enable clang-tidy check for member variables

Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-28 16:01:14 +02:00
Mateusz Jablonski 55f6b142cd fix: handle dot character in kernel name when parsing zebin
Related-To: NEO-7934
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-28 12:07:50 +02:00
Fabian Zwolinski e2e00413a8 Apply CamelCase for class and struct names
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-24 15:36:27 +02:00
Kacper Nowak c7adbc2140 Add debug key for dumping ELF to file
Add "DumpZEBin" debug flag. When this flag is enabled, Zebin will be
dumped to a .elf file (with appropiate suffix, in case such file has
been dumped before).
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
Related-To: NEO-7895
2023-04-18 20:40:25 +02:00
Kacper Nowak e19e006370 feat(zebin): Add debug flag for logging ZE Info
Add debug key LogZEInfo for logging ZE Info from zebin elf.
ZE Info will be dumped to a file (default igdrcl.log)

Related-To: NEO-7895
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-04-14 17:14:07 +02:00
Mateusz Jablonski dd39b822d3 feature implicit args: patch rt dispatch global array in implicit args buffer
handle has_rtcalls in kernels and functions in zebin

Related-To: NEO-7818
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-28 12:31:38 +02:00
Mateusz Hoppe c0794bd974 feature: assert support - decode zebin argument
Related-To: NEO-5753

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-03-17 11:15:13 +01:00