Commit Graph

346 Commits

Author SHA1 Message Date
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
b1a50104a8 fix: include dynamic SLM in clGetKernelWorkGroupInfo and zeKernelGetProperties
Current implementation only takes static slmInlineSize into account.
With this change we also include dynamic SLM passed as a kernel arguments.

Related-To: NEO-5761
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2024-07-30 17:59:45 +02:00
Zbigniew Zdanowicz
42bf58a800 refactor: do not add all mapped physical allocations to kernel residency
Related-To: NEO-11719

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-07-24 15:43:48 +02:00
Zbigniew Zdanowicz
1c1e437d4b refactor: split kernel residency into internal and argument containers
Related-To: NEO-11719

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-07-23 17:22:16 +02:00
Zbigniew Zdanowicz
f61ab615e7 refactor: do not add bindless heaps to kernel residency
Related-To: NEO-11719

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-07-22 22:44:30 +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
Zbigniew Zdanowicz
3e1d276233 fix: add missing new line character in print log
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-05-23 17:51:15 +02:00
Zbigniew Zdanowicz
294c3b77ba refactor: add level zero console logging for kernel buffer arguments
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-05-23 11:01:38 +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
76af952fcb feature: Bindless sampled image support
Related-To: NEO-10352

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-05-08 17:50:37 +02:00
John Falkowski
f1c2ea0b69 fix: kernel access to multiple stateful virtual regions
Related-to: NEO-8350

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2024-04-26 11:18:24 +02:00
Compute-Runtime-Validation
04c32d9e4e Revert "fix: allow kernel access across multiple virtual regions"
This reverts commit b9c1ef65dd.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-04-24 04:00:15 +02:00
John Falkowski
b9c1ef65dd fix: allow kernel access across multiple virtual regions
Related to: NEO-8350

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2024-04-23 18:20:52 +02:00
Zbigniew Zdanowicz
c60b19a8ba fix: use required walk order when local ids are software generated
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-04-19 08:48:30 +02:00
Zbigniew Zdanowicz
96347c7847 fix: reset per thread size after local id hw generation enabled
Related-To: NEO-10066

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-04-17 14:16:06 +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
Katarzyna Cencelewska
da7b03dd15 fix: to always use grfs count in calculateNumThreadsPerThreadGroup
grf size != grf count

Related-To: GSD-8437
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2024-03-22 11:03:18 +01:00
Katarzyna Cencelewska
dd1d52259e refactor: add param rootDeviceEnvironment to calculateNumThreadsPerThreadGroup
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2024-03-21 22:25:14 +01:00
Zbigniew Zdanowicz
b3be51fc35 refactor: add checker for stateless only kernels
Related-To: NEO-10381

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-03-21 21:54:55 +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
John Falkowski
cebedb50c7 feature: get kernel max group size
Implementing support for ze_kernel_max_group_size_ext_properties_t

Resolves: NEO-9617

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2024-02-27 08:40:55 +01:00
Dunajski, Bartosz
5085300449 feature: query to get kernel/module register sizes
Related-To: NEO-7357

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-02-15 13:00:00 +01:00
Fabian Zwolinski
f55cb596c7 fix: remove unnecessary allocation add to residencyContainer
Image implicit args allocation is not related to redescribed image
and is already added to the residencyContainer in setArgImage.

Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2024-02-02 16:26:33 +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
Dunajski, Bartosz
b77e1a6a71 feature: improve reporting max cooperative group count
Related-To: NEO-8210

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-01-22 14:56:15 +01:00
Dunajski, Bartosz
6f4ed10919 refactor: unify getMaxWorkGroupCount logic
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-01-22 11:16:45 +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
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
a3bd629aff fix: store image implicit args in bindless slot 1
bindless slot 0: image
bindless slot 1: image implicit args
bindless slot 2: redescribed image

Redescribed image moved one slot higher.
Separate allocation is created for new bindless slot.

Related-To: NEO-9740
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2024-01-12 13:09:06 +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
a73fb4d2fe fix: correct reporing kernel private size on L0
unify the logic across APIs

Related-To: NEO-9944
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-01-09 09:54:05 +01:00
Compute-Runtime-Validation
f2c9d7172a Revert "fix: store image implicit args in bindless slot 1"
This reverts commit b6d572ddb8.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-12-23 12:01:42 +01:00
Dunajski, Bartosz
f17f45d63f feature: initial support for patching region params
Related-To: NEO-8070

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-20 21:38:39 +01:00
Fabian Zwolinski
b6d572ddb8 fix: store image implicit args in bindless slot 1
bindless slot 0: image
bindless slot 1: image implicit args
bindless slot 2: redescribed image

Redescribed image moved one slot higher.
Separate allocation is created for new bindless slot.

Related-To: NEO-9740
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-12-20 19:09:14 +01:00
Mateusz Jablonski
138fb65401 refactor: correct naming of enum class constants 11/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-19 14:52:57 +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
Dunajski, Bartosz
d99104d5bf refactor: improve ImplicitArg struct handling
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-18 15:19:00 +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
432142c574 refactor: correct naming of enum class constants 4/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-13 08:08:51 +01:00
Mateusz Jablonski
b182917d9d refactor: correct naming of allocation types
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-11 16:23:37 +01:00
Mateusz Jablonski
6849d33326 refactor: remove redundant definitions KB/MB/GB
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-05 08:55:18 +01:00
Mateusz Hoppe
8056476d8d fix: program binding table for bindless kernels
- if binding table entries are used in bindless kernel, program Binding
table

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-12-01 19:54:10 +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
Lu, Wenbin
37deaf1ae5 fix: serialize printf kernel accesses using device-wise locks
Related-To: LOCI-4114

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-11-27 10:42:51 +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
Mateusz Hoppe
1c37da280c fix: fix bindless offset patching for images
- usingSurfaceStateHeap indicates if any of the args is using local ssh
in bindless kernels:

without global allocator - ssh is used for all args
with global bindless allocator - ssh used only for buffer with offset
set in surface state, otherwise not used

When any of the args is using ssh - getSurfaceStateHeapDataSize() returns
non-zero size.

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-11-07 11:39:49 +01:00