Commit Graph

169 Commits

Author SHA1 Message Date
Wenju He 03078541d7 feature: make global bindless heaps resident when created
Make bindless heaps resident right after heap allocation.
Motivation is that SYCL bindless image can be passed as a value argument
or through memory. Therefore, we're not able to make its bindless heap
resident during kernel initialization or setting kernel arguments.

This fixes SYCL bindless image read_write_*D.cpp tests on DG2.

Related-To: NEO-7063
Signed-off-by: Wenju He <wenju.he@intel.com>
2024-03-20 14:40:11 +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
Bartosz Dunajski e400a5c624 feature: in-order host counter allocation pooling 2
Related-To: NEO-10507

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-03-13 18:59:02 +01:00
Zbigniew Zdanowicz 3f740f3460 feature: add new functionality to in order patch helpers
Related-To: NEO-10385

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-03-12 09:17:53 +01:00
Compute-Runtime-Validation 4082e9f028 Revert "feature: in-order host counter allocation pooling"
This reverts commit 2f03c48c7a.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-03-09 19:47:10 +01:00
Dunajski, Bartosz 2f03c48c7a feature: in-order host counter allocation pooling
Related-To: NEO-10507

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-03-08 13:13:04 +01:00
Dunajski, Bartosz 51ae76a25f refactor: improve handling of in-order atomic signaling
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-03-01 15:59:25 +01:00
Dunajski, Bartosz ea2ad550a1 refactor: improve handling duplicated in-order host storage
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-03-01 13:54:28 +01:00
Dunajski, Bartosz bbe1043f08 feature: initial support for pooling in-order counter allocations
Related-To: NEO-10507

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-03-01 12:08:02 +01:00
Dunajski, Bartosz 8483a922a7 feature: simplify in-order allocation overflow
Related-To: NEO-10507

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-02-27 18:25:26 +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 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
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
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
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 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
Dunajski, Bartosz d6560c5bba refactor: pass additional in-order params to PatchCmd helper
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-21 19:21:56 +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 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
Mateusz Jablonski 01dd503e47 refactor: correct naming of MemoryPool enum values
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-13 07:51:39 +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
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
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 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 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
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
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
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 Jablonski 652cc31160 test: unify sampler tests for at least gen12lp platforms
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-08-30 15:07:39 +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
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
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
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
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
Cencelewska, Katarzyna a4a296d59f wa: enable wa to add additional dummy blits after blit copy
- reduce number of dummy blits where are not needed
- track if dummy blit required in cmdlist

Related-To: NEO-7450
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-03-17 10:43:00 +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
Zbigniew Zdanowicz f348bf78a3 [fix] allow to use all available command buffer size after reset
- this change uses unified approach to reuse command buffer
- unified method takes all available space when reseting stream

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-16 12:48:52 +01:00
Zbigniew Zdanowicz e645f58b65 [fix] Do not reset state heap position for command list reset
- state base address tracking allows to reuse base address state
- surface state slots can be reused after sba reload or cache flush
- to avoid cache flush after each reset, then allow to gradualy consume heaps
- only until natural heap depletion and then dispatch reload of sba state

Related-To : NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-15 19:04:20 +01:00
Lukasz Jobczyk 79075a3e92 Make command buffers resident at cmd container init
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-03-15 16:11:29 +01:00
Zbigniew Zdanowicz d93f00e075 [perf] simplify getting indirect heap memory location
Related-To: NEO-5055

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