Commit Graph

334 Commits

Author SHA1 Message Date
Szymon Morek bff8f74de7 refactor: remove unused parameter
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-05-15 12:23:27 +02:00
Lukasz Jobczyk e964ccdf57 refactor: remove unused ulls diagnostic mode
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-05-09 10:01:51 +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
Lukasz Jobczyk 6c2ddf1120 fix: program system fence address when global fence passed to ULLS
Related-To: NEO-14642

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-30 12:57:04 +02:00
Lukasz Jobczyk 97358acabe fix: use mfence instead of sfence on discrete devices
Related-To: NEO-14642

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-25 13:32:25 +02:00
Szymon Morek 3596522637 refactor: remove unused logic in ULLS controller
Related-To: NEO-13843

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-04-17 18:35:20 +02:00
Lukasz Jobczyk 455209aadc refactor: Simplify fence selection in ULLS
Related-To: NEO-14642

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-15 14:04:47 +02:00
Jaroslaw Warchulski 3e1aa33924 refactor: cleanup headers
Related-To: NEO-5548
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-04-14 14:59:40 +02:00
Kamil Kopryk dd3d294f87 performance: cache MOCS values
This change caches the most used MOCS values:

* getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CONST);
* getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER);
* getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CACHELINE_MISALIGNED);
inside gmmHelper class during initialization to avoid repeated
calls of virtual functions, branches and/or gmm lib access.

and adds more readably corresponding getters:
* getL1EnabledMOCS
* getL3EnabledMOCS
* getUncachedMOCS

If force all resources uncached is called,
these 3 cached mocs values are reinitialized

It also changes the order of gmmHelper members, to avoid
not needed padding after addressWidth
and simplifies logic in getMocsIndex function
for xehp and later products.

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-04-14 14:12:48 +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
Lukasz Jobczyk ca45573dd3 fix: Handle new ring buffer residency when switch ULLS light ring
Related-To: NEO-14406, NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-08 10:12:57 +02:00
Filip Hazubski 504440fc4d feature: Add ftrHeaplessMode flag
Pass hwInfo to isHeaplessModeEnabled and isForceBindlessRequired functions.

Related-To: NEO-14526

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2025-04-02 21:06:05 +02:00
Lukasz Jobczyk deca36fd32 fix: Stop ULLS light when evict resource
Related-To: NEO-14406

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-02 16:37:43 +02:00
Katarzyna Cencelewska 92e40afc49 feature: update debug flag DirectSubmissionPrintSemaphoreUsage
instead of printf use makro that make flush after printf

Related-To: HSD-14024170600
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2025-03-28 13:36:15 +01: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
Lukasz Jobczyk 8a85a96ed2 feature: Add 3-level wait scheme with tpause intrinsic
Related-To: NEO-14336

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-21 12:12:57 +01:00
Bartosz Dunajski 6e17df4fb3 refactor: improve EncodeAluHelper
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-03-19 15:44:34 +01:00
Lukasz Jobczyk 6cb52f71b4 fix: Avoid mutex deadlock when switch ulls light ring buffer
Related-To: NEO-14406

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-19 11:47:40 +01:00
Maciej Plewka 36fa6d66ae fix: lock csr in stopDirectSubmission if needed
Related-To: NEO-13875, NEO-14143, HSD-16026538384, HSD-16026780358
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2025-03-18 09:30:38 +01:00
Lukasz Jobczyk 61fe9ebb8f performance: Allow power efficient waits with ULLS light
Resolves: HSD-18041633458
Related-To: NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-06 14:20:58 +01:00
Szymon Morek 82fba79d9d performance: set 1ms timeout for ulls controller on LNL and PTL
Related-To: NEO-13843

Limit scope to Windows only.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-03-06 09:13:58 +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
Compute-Runtime-Validation f907c7dcb2 Revert "performance: set 1ms timeout for ulls controller since xe2"
This reverts commit 28c008e438.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-02-24 15:04:54 +01:00
Lukasz Jobczyk 5961850bbc fix: blink ULLS light
Related-To: NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-02-21 13:31:35 +01:00
Szymon Morek 28c008e438 performance: set 1ms timeout for ulls controller since xe2
Related-To: NEO-13843

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-02-19 13:48:26 +01:00
Filip Hazubski 4c7900008f refactor: Change wording from NonCopyableOrMovable to NonCopyableAndNonMovable
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2025-02-17 14:19:10 +01:00
Lukasz Jobczyk 7cb7229c1c performance: Disable force pin for ULLS light
Related-To: NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-02-14 15:31:50 +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
Chandio, Bibrak Qamar 7149743162 fix: Set vmbind user fence when makeMemoryResident
Related-To: NEO-11977, GSD-10293

Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
2025-02-10 14:20:09 +01:00
Michał Pryba 75bc74089b refactor: adjust file names after pre-gen12 removal 2/3
Related-To: NEO-12681
Signed-off-by: Michał Pryba <michal.pryba@intel.com>
2025-02-03 15:31:51 +01:00
Compute-Runtime-Validation d23249b061 Revert "fix: Set vmbind user fence when makeMemoryResident"
This reverts commit 80dc4fb43a.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-01-31 11:36:29 +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
Chandio, Bibrak Qamar 80dc4fb43a fix: Set vmbind user fence when makeMemoryResident
Related-To: NEO-11977, GSD-10293

Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
2025-01-28 22:04:37 +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 f3c9362fc5 fix: check for gpu hang during wait for ring completion
Related-To: NEO-13490

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-01-09 18:44:25 +01:00
Dunajski, Bartosz 37e81d2a11 feature: new heuristic to enable relaxed ordering 2
Related-To: NEO-13431

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-12-09 11:58:42 +01:00
Compute-Runtime-Validation af8ad3aa7a Revert "feature: new heuristic to enable relaxed ordering"
This reverts commit 526f9c5e81.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-12-08 16:01:32 +01:00
Bartosz Dunajski 526f9c5e81 feature: new heuristic to enable relaxed ordering
Related-To: GSD-10308

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-12-06 17:04:39 +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
Mateusz Jablonski fa58073095 refactor: remove not used usings/typedefs/variables
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-11-28 16:19:39 +01:00
Szymon Morek 1f60935930 fix: don't return csr as busy if gpu hang is detected
Related-To: NEO-13071

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-10-30 16:17:38 +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
Bartosz Dunajski 9d76158c1f feature: debug flag to change ULLS BCS timeout
Related-To: HSD-18040119232

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-10-23 18:18:42 +02:00
Szymon Morek fca544b178 performance: enable idle csr detection in ULLS controller
Related-To: NEO-12991

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-10-23 12:10:45 +02:00