Commit Graph

178 Commits

Author SHA1 Message Date
Lukasz Jobczyk 680fa1ec1d refactor: Split direct_submission_hw.inl
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-05-22 11:27:52 +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
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
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
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
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
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
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
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
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
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 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 a915ef4b7b fix: Don't program redundant paging fence semaphores
Related-To: NEO-12197

Don't program semaphore to wait for paging fence if it was
already programmed with the same value

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-10-07 11:42:06 +02:00
Bartosz Dunajski 0564a41919 feature: debug flag to control direct submission semaphore mode
Related-To: HSD-18039521047

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-10-02 21:06:53 +02:00
Bartosz Dunajski ddce122991 fix: dont program NP state in ULLS if heapless state init is enabled
Related-To: HSD-13012223827

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-09-11 19:32:18 +02:00
Zbigniew Zdanowicz 0f5d9fbb65 performance: replace method calls with constexpr function
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-09-06 15:21:42 +02:00
Andrzej Koska b0e7a11e9a refactor: Improving information transfer about the copy engine
Related-To: NEO-11934

Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
2024-09-05 16:11:52 +02:00
Bartosz Dunajski 85a42162f8 refactor: debug flag to print DirectSubmission semaphore usage
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-08-16 13:10:34 +02:00
Compute-Runtime-Validation 9b652f4a34 Revert "feature: Improving information transfer about the copy engine"
This reverts commit 17ffdff4f1.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-08-15 22:06:31 +02:00
Andrzej Koska 17ffdff4f1 feature: Improving information transfer about the copy engine
Related-To: NEO-11934

Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
2024-08-14 11:28:29 +02:00
Bartosz Dunajski 7fc7fbfc47 refactor: improve ulls prints
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-08-07 14:18:04 +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
Szymon Morek 375d65d8e5 refactor: remove unused code
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-08-01 09:55:46 +02:00
Andrzej Koska ae139aeffd refactor: Passing information about the engine
Extension of the interface with information
about the engine type passed to the function

Related-To: NEO-10678

Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
2024-04-22 13:33:56 +02:00
Plewka, Maciej 5c15aaf48a feature: Bind command buffer allocations as read only
Related-To: NEO-10398
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-04-02 16:08:48 +02: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
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
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
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
Lukasz Jobczyk 58eaece6c9 fix: Make DirectSubmissionInsertExtraMiMemFenceCommands able to force fence
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-01-29 16:43:24 +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 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
Mateusz Jablonski 739d181026 refactor: correct naming of enum class constants 6/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-13 14:48:52 +01:00