Commit Graph

70 Commits

Author SHA1 Message Date
Jaroslaw Warchulski
2375ff89bb refactor: cleanup headers
Related-To: NEO-5548
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-06-23 11:23:49 +02:00
Szymon Morek
558752288f performance: set 1ms ULLS timeout on Windows since Xe2
Related-To: NEO-13843

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-06-17 08:09:24 +02:00
Krzysztof Sprzaczkowski
de72e91269 feature: Native GPU fence synchronization object implementation
Related-To: NEO-10811
Signed-off-by: Krzysztof Sprzaczkowski <krzysztof.sprzaczkowski@intel.com>
2025-05-07 11:00:34 +02:00
Lukasz Jobczyk
1f9cfb8916 fix: Add missing fences when unblock residency semaphore
Related-To: NEO-14642

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-05-06 08:54:30 +02:00
Maciej Plewka
286acf30a3 fix: Dispatch residency fence when stopping ulls on windows
Related-To: NEO-14396, HSD-18041496023, HSD-13012953666, NEO-14611
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2025-04-09 19:51:16 +02:00
Maciej Plewka
bb36614567 fix: add separate counter for tracking ring buffer completion
Related-To: NEO-14396, NEO-9548
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2025-04-08 16:30:44 +02:00
Maciej Plewka
1b7bf690d2 fix: update fence values when residency list passed to switch ring buffer
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2025-03-21 12:26:08 +01:00
Compute-Runtime-Validation
3414abe74a Revert "fix: make global fence always resident on linux"
This reverts commit efb814d979.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-03-05 02:07:38 +01:00
Szymon Morek
ff4da67979 fix: signal notify field before KMD wait
Related-To: NEO-13870

Currently all monitor fences are triggering
interrupt due to Notify Enable field.
With this change, such field is programmed
right before KMD wait.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-03-04 15:19:16 +01:00
Szymon Morek
efb814d979 fix: make global fence always resident on linux
Related-To: NEO-13843

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-03-04 12:32:53 +01:00
Lukasz Jobczyk
6dd948a4b3 performance: Pass residency container as const ptr
Related-To: NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-02-24 15:18:55 +01:00
Lukasz Jobczyk
bc2b49b958 feature: Introduce ULLS light
Add core implementation of ULLS without VM_BIND interface aka ULLS
light.

Related-To: NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-02-12 17:52:02 +01:00
Compute-Runtime-Validation
768e15bab2 Revert "performance: reduce ULLS controller timeout to 1ms"
This reverts commit 0db7128503.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-01-30 03:41:58 +01:00
Szymon Morek
0db7128503 performance: reduce ULLS controller timeout to 1ms
Currently scope limited to Windows only

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-01-28 22:27:09 +01:00
Szymon Morek
254e7c5c6a fix: set notify enable flag when flushing monitor fence
Related-To: NEO-13848

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-01-24 22:19:24 +01:00
Szymon Morek
d5e5c8e59e fix: call flushMonitorFence on BCS CSR
Related-To: NEO-12477

Also, make sure that global fence is always resident

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-12-03 12:48:54 +01:00
Dominik Dabek
22a3ec948b fix: ulls controller sleep, windows
Request higher resolution for windows periodic timers for ulls
controller sleep.

Allows for controller thread to sleep with granularity of 1ms.

Related-To: NEO-10800

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-10-24 18:07:04 +02:00
Artur Harasimiuk
1260023efa fix: add missing NOLINT to forward declarations
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2024-10-10 13:46:14 +02:00
Compute-Runtime-Validation
5dbbaa39b9 Revert "fix: ulls controller sleep, windows"
This reverts commit 6455d4648c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-08-24 06:37:58 +02:00
Dominik Dabek
6455d4648c fix: ulls controller sleep, windows
Request higher resolution for windows periodic timers for ulls
controller sleep.

Allows for controller thread to sleep with granularity of 1ms.

Related-To: NEO-10800

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-08-23 12:05:26 +02:00
Szymon Morek
d4c1631ac7 performance: don't wait for paging fence on user thread
Related-To: NEO-12197

Currently for new resources user thread must wait before submitting
actual workload. With this commit, instead of waiting on user thread,
request is sent to background ULLS controller thread and additional
semaphore is programmed. ULLS controller will perform actual wait
and signal semaphore when paging fence reaches required value.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-08-07 08:30:51 +02:00
Dominik Dabek
dc26b25169 Revert "fix: ulls controller sleep, windows"
This reverts commit 672cc0ebc7.

Resolves: HSD-18038912878, NEO-11770

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-06-21 14:10:43 +02:00
Dominik Dabek
672cc0ebc7 fix: ulls controller sleep, windows
Request higher resolution for windows periodic timers for ulls
controller sleep.

Allows for controller thread to sleep with granularity of 1ms.

Related-To: NEO-10800

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-06-18 06:28:15 +02:00
Lukasz Jobczyk
4be3230051 fix: Use current fence values when create fence for ULLS
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-04-24 18:19:58 +02:00
Lukasz Jobczyk
64175d8bb6 feature: Add ULLS support for WDDM 2.3
Resolves: NEO-4843

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-01-29 15:45:43 +01:00
Zbigniew Zdanowicz
eec553ea6a fix: set ulls ring start state according to returned value from kmd call
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-01-10 12:57:34 +01:00
Lukasz Jobczyk
edd6fd5e6c performance: Optimize ULLS start on submit path
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-12-29 15:21:49 +01:00
Compute-Runtime-Validation
1d02f7fdd9 Revert "performance: Optimize ULLS start on submit path"
This reverts commit ea78831e28.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-12-28 01:54:18 +01:00
Lukasz Jobczyk
ea78831e28 performance: Optimize ULLS start on submit path
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-12-27 13:55:30 +01:00
Mateusz Jablonski
de93bc6928 refactor: correct naming of enum class constants 10/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-19 11:30:39 +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
Maciej Plewka
8c8bb23356 fix: update completion fence for previous ring during switch
Related-To: NEO-9330

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-11-27 12:30:01 +01:00
Maciej Plewka
1a364f5c98 fix: add synchronization for updating tag and updating residency in GA
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-11-24 12:12:13 +01:00
Maciej Plewka
560b588cbe fix: Update residency fence value after ring buffer switch
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-11-17 20:46:14 +01:00
Katarzyna Cencelewska
fbe61cf547 fix: add kmd wait on cpu when wait on paging fence when needed
add storing of throttle hint value for direct submission

Related-To: NEO-9123
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-11-09 19:22:15 +01:00
Katarzyna Cencelewska
3ad68cb7d6 fix: setting flush stamp to not have zero value
when direct submission and monitor fence is not required then use
current fence value to update flush stamp

Related-To: NEO-9123
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-11-09 08:34:21 +01:00
Katarzyna Cencelewska
06e2fdb2e9 fix: remove copy paste from WddmDirectSubmission methods
instead of use updateTagValueImpl to avoid missing parts

Related-To: NEO-9123
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-11-08 08:45:10 +01:00
Zbigniew Zdanowicz
20c3f45998 refactor: add ulls diagnostic flag to select monitor fence input
Related-To: NEO-8395

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-11-06 15:09:36 +01:00
Zbigniew Zdanowicz
e0ce08bb77 fix: detect gpu hang or page fault at direct submission flush to gpu
Related-To: NEO-8395

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-11-06 14:22:02 +01:00
Zbigniew Zdanowicz
7dfd3e5e59 performance: use dedicated flag to dispatch monitor fence
Related-To: NEO-8395

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-09-21 13:25:06 +02:00
Zbigniew Zdanowicz
a16d8f7b88 refactor: change direct submission interfaces to accept monitor fence
- unify Linux and Windows default settings
- unify override default code
- correct size estimation when fence is required
- call virtual function once for both estimation and dispatch

Related-To: NEO-8395

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-09-20 13:17:12 +02:00
Lukasz Jobczyk
e9f199bcad performance: Wait in busy loop with timeout before Gdi sync object
Resolves: NEO-8343

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-09-08 14:40:20 +02:00
Lukasz Jobczyk
d3355411b8 performance: Improve dispatch monitor fence from wait
-update last submitted value while flush monitor fence
-dispatch monitor fence with workload when stalling cmds present

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-08-30 16:15:32 +02:00
Lukasz Jobczyk
7330974116 feature: Enable dispatch monitor fence from wait
Resolves: NEO-8240
Related-To: NEO-8067

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-08-10 09:45:22 +02:00
Compute-Runtime-Validation
8213c2a0cd Revert "feature: Enable dispatch monitor fence from wait"
This reverts commit 4d5b4ef4f1.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-08-10 04:25:58 +02:00
Lukasz Jobczyk
4d5b4ef4f1 feature: Enable dispatch monitor fence from wait
Resolves: NEO-8240
Related-To: NEO-8067

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-08-09 09:43:47 +02:00
Lukasz Jobczyk
fc1f45b630 feature: Dispatch monitor fence from wait
Resolves: NEO-8240
Related-To: NEO-8067

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-08-08 16:42:27 +02:00
Igor Venevtsev
e2ad2e8db0 fix: initialize GPU VA for additional synchronization WA
Related-To: NEO-8072

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2023-08-01 11:43:52 +02:00
Lukasz Jobczyk
e70f441f52 fix: Idle gpu before invalidate aux table
Related-To: NEO-8067

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-07-05 13:51:27 +02:00
Dominik Dabek
ff2e4f6066 feat: dont wait on fence in ulls switch buffers
Related-To: NEO-7797

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-03-28 23:45:56 +02:00