Commit Graph

634 Commits

Author SHA1 Message Date
Kamil Kopryk f10e0e1d0a refactor: remove not needed semicolon
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-04-15 16:13:33 +02:00
Jemale Lockett dd884a0733 fix: stop using gpr15 in non-debug context
Resolves: NEO-11027

Signed-off-by: Jemale Lockett <jemale.lockett@intel.com>
2024-04-15 12:33:51 +02:00
Kamil Kopryk cfc3b6a8c2 refactor: add heaplessModeEnabled argument to isHeaplessStateInitEnabled
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-04-11 10:08:10 +02:00
Lukasz Jobczyk 4106398002 fix: Restore main command stream when reset cmd list
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-04-10 13:22:50 +02:00
Kamil Kopryk 6ffa756457 refactor: move scratch and kab programming to a function
Related-To: NEO-7824

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-04-10 13:07:39 +02:00
Compute-Runtime-Validation 89b3e7209d Revert "fix: Restore main command stream when reset cmd list"
This reverts commit dc1b60c8e7.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-04-09 04:35:45 +02:00
Lukasz Jobczyk dc1b60c8e7 fix: Restore main command stream when reset cmd list
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-04-08 15:16:36 +02:00
Zbigniew Zdanowicz 73d558058c feature: add heapless and global stateless scratch address patching
Related-To: NEO-10381

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-04-03 17:04:35 +02:00
Kamil Kopryk 4eae28bd64 feature: introduce heapless state init in L0
Related-To: NEO-7824
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-04-02 12:34:53 +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
Zbigniew Zdanowicz 489ef2a310 feature: add getter of walker inline data offset
Related-To: NEO-10381

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-03-28 09:39:49 +01:00
Bartosz Dunajski c3546f9e62 refactor: enable 64b mi_atomic operands and add cmp/wr operation
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-03-27 18:56:40 +01:00
Bartosz Dunajski fce016ee7a refactor: add new semaphore param
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-03-26 15:46:47 +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 d1041e2335 feature: find cpu base address from all command buffers of container
Related-To: NEO-10381

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-03-18 13:43:08 +01:00
Zbigniew Zdanowicz f496233462 refactor: use single vector to store used heap allocations
Related-To: NEO-10483

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-03-15 15:01:36 +01:00
Kamil Kopryk 626b3846b0 refactor: change compute walker to defaultWalkerType
Related-To: NEO-10641
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-03-12 17:52:43 +01:00
Mateusz Jablonski 8d83f7603c performance: skip dummy blits prior to flush without postsync
Related-To: NEO-9996
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-12 12:38:58 +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
Mrozek, Michal 13a347cbde refactor: remove not needed code
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2024-03-08 15:10:06 +01:00
Kamil Kopryk 168445784e feature: introduce states programming at driver init heapless ocl
Related-To: NEO-7824
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-03-08 12:29:44 +01:00
Mrozek, Michal 10313b7b84 refactor: remove not needed code
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2024-03-07 18:50:16 +01:00
Zbigniew Zdanowicz fe377b6597 feature: add out cmd pointer to store data imm encoder
Related-To: NEO-10385

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-03-07 12:52:08 +01:00
Mateusz Jablonski a22cefdaed fix: don't program dummy blit when no copy command was programmed
Related-To: NEO-9996, NEO-10571
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-07 09:01:16 +01:00
Dominik Dabek 033ff28609 performance: enable cmd buffer preallocate xehp+
For L0 immediate cmdlists try to use reusable allocations if available.

Related-To: NEO-10526

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-03-06 16:53:01 +01:00
Lukasz Jobczyk bd6925d51a refactor: Exclude thread dispatch algorithm for overdispatch to function
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-03-01 15:04:04 +01:00
Mateusz Jablonski 80aa55a3cb fix: don't program dummy blit prior to MI_FLUSH_DW without postsync
add missing dummy blits before MI_FLUSH_DW with postsync

Related-To: NEO-9996
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-01 12:36:13 +01:00
Zbigniew Zdanowicz 4baee71974 refactor: add out cmd argument to semaphore wait encoder
Related-To: NEO-10065

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-03-01 11:43:36 +01:00
Compute-Runtime-Validation 5fce046877 Revert "fix: don't program dummy blit prior to MI_FLUSH_DW without postsync"
This reverts commit d796fb559d.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-03-01 01:43:35 +01:00
Mateusz Jablonski d796fb559d fix: don't program dummy blit prior to MI_FLUSH_DW without postsync
add missing dummy blits before MI_FLUSH_DW with postsync

Related-To: NEO-9996
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-02-29 13:30:09 +01:00
Mateusz Jablonski b6b53daa3f fix: don't program dummy blit prior to MI ARB CHECK
Related-To: NEO-9996
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-02-27 15:46:46 +01:00
Zbigniew Zdanowicz 0bf8e8727e refactor: add output buffer argument to store register to memory encoder
Related-To: NEO-10064

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-02-27 13:31:55 +01:00
Lukasz Jobczyk cfd3edfb2c fix: Align IOH entry
Related-To: NEO-10036

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-02-26 14:36:31 +01:00
Zbigniew Zdanowicz db9d0c9a58 fix: remove heap resource leak after command list reset
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-02-20 14:38:19 +01:00
Kamil Kopryk 6d3a53fe7f refactor: Improve scratch programming in heapless mode
Related-To: NEO-7621
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-01-31 10:39:39 +01:00
Lukasz Jobczyk 4704cd49a3 fix: Remove fence handling when reuse cmd buffer
Resolves: NEO-10163
Related-To: NEO-7116

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-01-29 09:08:19 +01:00
Compute-Runtime-Validation 63a5b64c7e Revert "fix: Remove fence handling when reuse cmd buffer"
This reverts commit f3bbd70a58.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-01-27 08:28:57 +01:00
Lukasz Jobczyk f3bbd70a58 fix: Remove fence handling when reuse cmd buffer
Resolves: NEO-10163
Related-To: NEO-7116

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-01-26 10:06:24 +01:00
Kamil Kopryk fdb5a53f85 fix: fix scratch programming in heapless mode l0
Related-To: NEO-10107
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-01-25 10:50:37 +01:00
Zbigniew Zdanowicz e5618c3207 refactor: reposition implicit scaling functions into more direct hierarchy
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-01-22 13:31:41 +01:00
Dunajski, Bartosz b266f1f3cc refactor: improve implicit scaling interface
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-01-19 14:09:04 +01:00
Dunajski, Bartosz 7fbf724c72 refactor: update Implicit Scaling interface
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-01-18 16:52:48 +01:00
Lukasz Jobczyk af5977766d performance: Push cmd buffer alloc to the front of reusable list
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-01-18 12:28:22 +01:00
Lukasz Jobczyk d2eb29660d performance: Refactor cmd buffer reuse for cmd lists
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-01-17 17:28:17 +01:00
Dunajski, Bartosz dfc69c746a feature: create InOrderExecInfo for standalone CB Event
Related-To: NEO-8145

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-01-15 16:56:52 +01:00
Lukasz Jobczyk 2bda9f0b58 fix: Release usage when put cmd buffer to reusable list
Resolves: NEO-10004
Related-To: NEO-7116

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-01-11 18:40:38 +01:00
Kamil Kopryk 0aee72f1fc refactor: disable instantiation-after-specialization clang warning
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-01-10 13:50:25 +01:00
Dunajski, Bartosz 6eb152b24b feature: improve post sync system memory fence programming
Related-To: NEO-8210

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-01-09 11:55:25 +01:00
Lukasz Jobczyk d472cf0a5d fix: Restore handle fence completion when reusing cmd buffer
Related-To: NEO-7116

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-01-04 12:11:39 +01:00
Compute-Runtime-Validation c3b6ca8011 Revert "fix: Restore handle fence completion when reusing cmd buffer"
This reverts commit 5d90818cce.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-12-30 10:39:16 +01:00
Lukasz Jobczyk 5d90818cce fix: Restore handle fence completion when reusing cmd buffer
Related-To: NEO-7116

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-12-29 11:38:36 +01:00
Dunajski, Bartosz df66a0276f refactor: remove not used logic to check dynamic postsync layout
Related-To: NEO-8210

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-27 13:12:11 +01:00
Dunajski, Bartosz 364f2e973e refactor: add ImplicitScaling stubs
Related-To: NEO-8210

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-22 17:50:31 +01:00
Kamil Kopryk 307f45f5d2 refactor: add common command encoder enablers
Related-To: NEO-7621
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-12-22 08:34:28 +01:00
Dunajski, Bartosz 4ff760baf2 fix: pass WalkerType to ImplicitScaling helpers
Related-To: NEO-7621

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-21 16:25:14 +01:00
Dunajski, Bartosz 0f275ab893 refactor: improve InOrder Walker patching
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-21 14:30:46 +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
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 fca28a930f refactor: correct naming of enum class constants 7/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-18 13:05:56 +01:00
Dunajski, Bartosz 1219c48620 refactor: improve post sync handling and in-order unit tests
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-15 11:17:56 +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
Dunajski, Bartosz ad5550b8eb feature: pass interrupt info to EncodeDispatchKernelArgs struct
Related-To: NEO-8355

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-12 13:46:33 +01:00
Dunajski, Bartosz 717bc0c03f refactor: pass InOrderExecInfo to encode method
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-11 16:43:30 +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
Dunajski, Bartosz 58323bfb12 refactor: improve PostSync helper methods
Related-To: NEO-8210

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-11 10:41:30 +01:00
Dunajski, Bartosz aab3e7f7c5 refactor: improve getting postsync_data struct type
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-07 15:41:44 +01:00
Kamil Kopryk 7a14db7f9b refactor: add max front end threads in EncodeWalkerArgs
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-12-07 11:38:46 +01:00
Dunajski, Bartosz 9ce3713ace refactor: improve Walker args handling
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-06 16:10:26 +01:00
Mateusz Jablonski da957d1a37 refactor: correct naming of enum class constants 1/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-05 14:26:42 +01:00
Zbigniew Zdanowicz 1fcafd460a fix: add predicate flag of bb start command to capable platforms
Related-To: NEO-8391

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-12-05 12:08:27 +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 Jablonski c48e57e2de refactor: rename register offsets and constants
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-04 18:31:39 +01:00
Mateusz Jablonski 9486cd2a26 refactor: rename WALKER_TYPE to DefaultWalkerType
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-04 16:29:32 +01:00
Mateusz Jablonski c3d3a4db1f refactor: correct variable naming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-04 13:45:53 +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
Kamil Kopryk aa950a4a96 feature: Add heapless mode programming in l0 1/n
Related-To: NEO-7621
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-12-01 17:01:01 +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
Kamil Kopryk 982c2d665b feature: add programming heapless mode in SBA
Related-To: NEO-7621
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-11-24 15:29:19 +01:00
Kamil Kopryk ce7298d512 feature: Add heapless mode programming in ocl
Related-To: NEO-7621
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-11-24 12:53:39 +01:00
Dunajski, Bartosz aba1cd8f9c feature: improve waiting and signaling Events via KMD calls
Related-To: NEO-8179

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-11-23 14:53:27 +01:00
Compute-Runtime-Validation cdf2cd5699 Revert "feature: enable illegal opcode exception"
This reverts commit 02b6b3bbaa.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-11-08 01:40:23 +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
Mateusz Hoppe 02b6b3bbaa feature: enable illegal opcode exception
Related-To: NEO-9088

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-11-06 16:09:29 +01:00
Mateusz Hoppe 5a4fa180d6 feature: control bindless compilation mode based on release
- check releaseHelper support when selecting bindless mode, if not
disabled, prefer bindless mode in L0 API
- bindless mode can be forced with DebugVariable: UseBindlessMode

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-10-19 10:11:11 +02:00
Dominik Dabek 75c4844987 feature(internal): logging kernel dispatch params
Use debug flag PrintKernelDispatchParameters to print params used in
thread group dispatch size heuristic when encoding kernel dispatch.

Related-To: NEO-6989

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-10-17 17:31:54 +02:00
Zbigniew Zdanowicz ec9fa23b2e refactor: change order of fields of EncodeDispatchKernelArgs structure
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-10-04 15:00:29 +02:00
Jitendra Sharma 8a01619310 refactor: Enable CSR heap sharing on Older Generation platforms
Related-To: LOCI-4312
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2023-10-03 18:19:50 +02:00
Naklicki, Mateusz 0461af492d fix: unify path for getting number of grfs per thread
Related-To: NEO-8043

Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2023-10-03 08:17:46 +02:00
Compute-Runtime-Validation 1ac37d4a49 Revert "refactor: Enable CSR heap sharing on Older Generation platforms"
This reverts commit 58ff9c6d94.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-10-02 15:13:23 +02:00
Jitendra Sharma 58ff9c6d94 refactor: Enable CSR heap sharing on Older Generation platforms
Related-To: LOCI-4312
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2023-09-29 11:54:51 +02:00
Mateusz Jablonski 5f846d8a13 refactor: remove not needed code
Related-To: NEO-7527
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-27 18:17:04 +02:00
Mateusz Jablonski 5dc56c221f refactor: remove not needed function
Related-To: NEO-7527
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-27 14:44:56 +02:00
Dunajski, Bartosz 480c058cb2 feature: in-order patching for ComputeWalker
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-22 15:00:44 +02:00
Konstanty Misiak a1a8d8fded fix(wa): Override AuxilarySurfaceMode when required
Related-To: NEO-8012

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2023-09-22 13:41:34 +02:00
Maciej Bielski 97e7cda912 feature: Optimize intra-module kernel ISA allocations
So far, there is a separate page allocated for each kernel's ISA within
`KernelImmutableData::initialize()`. Apparently the ISA blocks are often
much smaller than a 64k page, which leads to poor memory utilization and
was even observed to cause the device OOM error if a single module has
several keys.

Improve the situation by reusing the parent allocation (owned by the
module instance) for modules, which kernel ISAs can fit together within
a single 64k page. This improves the memory utilization on a single
module level.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-09-21 13:55:45 +02:00
Maciej Plewka 49cc570e59 fix: move adjust depth to image hw
Related-To: NEO-8390, HSD-16021488507

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-09-20 15:54:45 +02:00
Compute-Runtime-Validation 913a926fd4 Revert "feature: Optimize intra-module kernel ISA allocations"
This reverts commit c348831470.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-09-19 14:16:05 +02:00
Maciej Bielski c348831470 feature: Optimize intra-module kernel ISA allocations
So far, there is a separate page allocated for each kernel's ISA within
`KernelImmutableData::initialize()`. Apparently the ISA blocks are often
much smaller than a 64k page, which leads to poor memory utilization and
was even observed to cause the device OOM error if a single module has
several keys.

Improve the situation by reusing the parent allocation (owned by the
module instance) for modules, which kernel ISAs can fit together within
a single 64k page. This improves the memory utilization on a single
module level.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-09-19 12:05:09 +02:00
Maciej Plewka 44b3f18567 refactor: Use release helper for adjusting depth
Related-To: NEO-8295, HSD-14019991753

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-09-15 13:24:37 +02:00
Dunajski, Bartosz 7562842a58 refactor: remove LogicalStateHelper
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-13 10:29:53 +02:00
Dunajski, Bartosz 6648065703 feature: add indirect semaphore mode
Related-To: NEO-8242

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-12 13:15:51 +02:00
Dunajski, Bartosz 2a6be2fccd feature: update conditional bb start to use qword data
Related-To: NEO-8242

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-12 11:24:28 +02:00
Dunajski, Bartosz def3f2e9ad refactor: improve semaphore programming
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-12 11:24:11 +02:00
Maciej Plewka 09c1d474c9 fix: adjust depth limitations for images
Related-To: NEO-8239, HSD-14019991752

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-09-08 13:05:49 +02:00
Mateusz Hoppe 93469eaf5d feature: bindless addressing for buffers with offset
- allocate SurfaceStates on kernel's heap for offsetted buffers

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-09-08 12:03:23 +02:00
Mateusz Hoppe 8435160db4 feature: bindless addressing for images
- program surface states for redescribed images correctly. Image copy
to/from memory are using redescribed surface states,
- refactor state base address programming - program address and size
together, set max size at the beginning due to lack of Enable flag
- set GpuBase in WddmAllocation when external heap is used
- return max ssh required size from kernelInfo or based on stateful args

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-08-18 15:59:20 +02:00
Fabian Zwolinski 6fca8ee195 refactor: Remove SourceLevelDebugger
Removed:
- SourceLevelDebugger (with tests)
- DebuggerLibrary
- DebuggerLibraryRestore
- debuggerSupported field from hwInfo.capabilityTable
- HasSourceLevelDebuggerSupport matcher
- ExperimentalEnableSourceLevelDebugger debug var
- EnableMockSourceLevelDebugger debug var
- DebuggerOptDisable debug var
- lib_names.h.in file
- third_party/source_level_debugger/igfx_debug_interchange_types.h

Related-To: NEO-7213
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-08-10 11:14:02 +02:00
Dunajski, Bartosz e1e9907973 feature: debug flag to signal user interrupts.
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-07-28 18:56:28 +02:00
Compute-Runtime-Validation b7a56521f8 Revert "refactor: Enable CSR heap sharing on Older Gen platforms"
This reverts commit 160daeb874.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-26 05:40:59 +02:00
Jitendra Sharma 160daeb874 refactor: Enable CSR heap sharing on Older Gen platforms
Related-To: LOCI-4312
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2023-07-25 19:37:33 +02:00
Baj, Tomasz 4ca213d4d7 fix: commandContainer is nullptr in LinearStream for immediate cmdList
Related-To: GSD-4084
Signed-off-by: Baj, Tomasz <tomasz.baj@intel.com>
2023-07-24 15:06:18 +02:00
Cencelewska, Katarzyna aa0beb8191 fix: Unify logic calculating threads per work group part 4
- also use helper when checking that is simd1 to have same flow

Related-To: NEO-8087
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-07-07 15:34:59 +02:00
Mateusz Hoppe 4aba0f0340 feature: global bindless surface state base support
- program global bindless ssba when external allocator used (
UseExternalAllocatorForSshAndDsh)

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-07-06 18:31:49 +02:00
Igor Venevtsev eba306c099 fix: properly set systemMemoryForced flag for secondary command buffers
Due to this flag was not properly handled on Windows, command buffer
allocations were never reused in immediate command lists in case of
host secondary buffers. This lead to huge host memory consumption
and performance degradation

Related-To: NEO-8072

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2023-07-05 17:09:15 +02:00
Cencelewska, Katarzyna 61f701aba5 fix: Unify logic calculating threads per work group part 3
Related-To: NEO-8087
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-07-04 15:27:44 +02:00
Cencelewska, Katarzyna 2e17c21728 fix: Unify logic calculating threads per work group part 2
- use calculateNumThreadsPerThreadGroup instead of getThreadsPerWG to
have same flow and proper values of threads per work groups

Related-To: NEO-8087
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-07-04 10:34:02 +02:00
Compute-Runtime-Validation 39740da9d1 Revert "fix: Unify logic calculating threads per work group part 2"
This reverts commit 1e8a53bd53.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-02 07:09:14 +02:00
Cencelewska, Katarzyna 1e8a53bd53 fix: Unify logic calculating threads per work group part 2
- use calculateNumThreadsPerThreadGroup instead of getThreadsPerWG to
have same flow and proper values of threads per work groups

Related-To: NEO-8087
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-06-30 14:16:08 +02:00
Dunajski, Bartosz 61fb19caab feature: bring back counter based in-order tracking
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-06-26 10:01:18 +02:00
Mateusz Jablonski 2d01bdec81 fix: change denorm mode in IDD to FlushToZero
denorm support is controlled by IGC, we should just set zero by default

Related-To: NEO-8059
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-23 09:28:32 +02:00
Dunajski, Bartosz 6544a1defa feature: adjust unit tests for future dynamic post sync allocation testing
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-06-20 16:22:33 +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
Compute-Runtime-Validation 995e2a79c6 Revert "fix: change denorm mode in IDD to FlushToZero"
This reverts commit 987394b27c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-06-15 11:49:01 +02:00
Cencelewska, Katarzyna 7cb3278eb3 fix: add function to calculate number of threads per tg
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-06-13 14:02:24 +02:00
Mateusz Jablonski 987394b27c fix: change denorm mode in IDD to FlushToZero
denorm support is controlled by IGC, we should just set zero by default

Related-To: NEO-8059
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-13 13:42:50 +02:00
Mateusz Hoppe 8bc1fb1251 refactor: add function checking bindless addressing
- simplify logic to check addressing mode of a kernel

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-06-12 14:42:18 +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
Dunajski, Bartosz 3d49658f50 feature: new multitile post sync layout for immediate write [2/n]
No functional changes in this commit. This is prework.

Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-06-09 14:20:34 +02:00
Dunajski, Bartosz 5fe9d70066 feature: new multitile post sync layout for immediate write [1/n]
No functional changes in this commit. This is prework.

Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-06-07 13:11:10 +02:00
Mateusz Hoppe 0844ca0ac8 refactor: cleanup getBindlessMode() usage
- getGlobalBindlessHeapConfiguration() should be used to choose global
alloctor for SSH
- remove not needed and incorrect unit tests
- remove not needed branches
- bindless mode controls bindless compilation only

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-06-06 17:23:13 +02:00
Mateusz Hoppe 19bb1e334c feature: enable SW exceptions for kernels with assert and debugging
- when debugging is enabled, assert() in gpu kernel will trigger SW
exception

Related-To: NEO-5753

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-06-01 15:31:36 +02:00
Dunajski, Bartosz 808ff8c2e4 refactor: remove unused EncodeDispatchKernelArgs field
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-06-01 10:42:22 +02:00
Mateusz Hoppe 1c196b9f3d refactor: change ApiSpecificConfig functions names
- better description of the meaning of functions

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-05-30 09:20:01 +02:00
Kamil Kopryk e0d3db3d91 fix: improve release helper
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-15 14:30:15 +02:00
Dunajski, Bartosz feff1c35cc feature: Experimental support of immediate cmd list in-order execution [5/n]
Related-To: LOCI-4332

- Signal non-timestamp Walkers with in-order CL value
- Event host synchronization based on CL signal value

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-05-09 11:46:14 +02:00
Dunajski, Bartosz c1f71ea7f7 feature: new conditional bb_start mode + aub tests
Related-To: LOCI-4332

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-05-05 14:40:17 +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
Dominik Dabek c84c7a0c91 performance: adjust thread group dispatch size
adjust thread group dispatch size on pvc if chosen size does not evenly
divide dimension

this is to avoid leftover thread groups

Related-To: NEO-7927

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-04-27 18:24:53 +02:00
Zbigniew Zdanowicz a114448792 [feat, perf] Indicate implicit scaling is dispatched from primary batch buffer
This change is part of performance feature to start command list batch buffers
as primary.
Implicit Scaling sometimes require to jump over control section and these jumps
must maintain the same level of batch buffer as the whole command list.

Related-To: NEO-7807

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-04-11 12:39:25 +02:00
Mateusz Jablonski 31f32cc16e fix implicit args: generate local ids as for grf size 32
Related-To: IGC-6936

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-07 11:37:07 +02:00
Zbigniew Zdanowicz d4109eb153 [feat, perf] add closing mechanism to command list primary batch buffers
This change adds space reservation in command list for returning batch buffer
start hw command.
Primary batch buffer can be run from direct submission or from KMD call and
must be aligned to required size.
Ending patch for batch buffer start must be in the last command buffer of the
command list.

Related-To: NEO-7807

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-04-07 11:28:41 +02:00
Zbigniew Zdanowicz 4c7bc2ca98 [feature, perf] add alogrithm to chain command buffers in container
This feature is part of performance improvement to dispatch and start
command buffers as primary batch buffers.
When exhausted command buffer is closed, then reserve exact space for chained
batch buffer start and bind it to the next command buffer.
When closing command buffer, then save ending pointer and
reserve aligned space.

Related-To: NEO-7807

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-04-05 15:49:01 +02:00
Dunajski, Bartosz 3ff7a63145 Reduce number of jumps in RelaxedOrdering scheduler
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-04-04 09:07:59 +02:00
Kacper Nowak f1c64adb3c fix(ocl): Fix potential mem leak + simplify code
- Fix potential memleak in case ASSERT returns false and test gets
aborted
- Remove not needed function argument
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-03-27 13:31:42 +02:00
Zbigniew Zdanowicz 38e50007f7 [perf] simplify memory layout of command container class
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-23 13:31:47 +01:00
Zbigniew Zdanowicz bc4e540c33 [fix] unify heaps size programing
- share same code between csr and cmd container to get default heap size
- share handling of debug flag to change heap size
- share platform level surface heap size between csr and command list
- refactor heap size files
- put heap size constant and function into namespace
- command list surface heap size increased to 2MB for xehp+ to match csr
- command list increased surface heap size only for sba tracking
- sba tracking heap consumption increased due to different reset policy

Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-17 08:34:06 +01:00