Commit Graph

307 Commits

Author SHA1 Message Date
Mateusz Jablonski
7660b29bbb fix: reduce types for tagSize and tagCount within TagAllocator
Related-To: NEO-16444

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-11-17 10:47:51 +01:00
Compute-Runtime-Validation
ff27bb12d1 Revert "fix: use condition variables instead of busy waits in worker threads"
This reverts commit 4406889b39.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-11-14 15:55:47 +01:00
Kamil Kopryk
129249f022 refactor: correct typo
Related-To: NEO-14577
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-11-06 15:15:08 +01:00
Kamil Kopryk
8757ecf2f7 refactor: reuse tag allocation for host function data
Related-To: NEO-14577
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-11-05 14:51:20 +01:00
Lukasz Jobczyk
01885fe362 fix: proper lock order when reinitialize context
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-11-05 09:51:37 +01:00
Lukasz Jobczyk
498f62d7a0 fix: Reset direct submission when reinitialize context
Resolves: HSD-15018564496
Related-To: NEO-16651

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-11-04 13:32:36 +01:00
Kamil Kopryk
f84a5fbee9 feature: add host functions workers
* add common host function worker interface
* add worker as a single thread per csr with 3 modes
* add logic for waiting on internal tag, check gpu hang
* if tag is in pending state, read callback data, run callback
and signal completion
* threads will exit the work loop once stop request
is called in finish
* add multi thread unit tests

Related-To: NEO-14577
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-11-03 12:11:17 +01:00
Igor Venevtsev
4406889b39 fix: use condition variables instead of busy waits in worker threads
Resolves: NEO-16085, GSD-11678, HSD-14025819208

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2025-10-31 15:28:54 +01:00
Compute-Runtime-Validation
b7d1c32edd Revert "fix: use condition variables instead of busy waits in worker threads"
This reverts commit 1f6039676f.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-10-24 10:55:27 +02:00
Igor Venevtsev
1f6039676f fix: use condition variables instead of busy waits in worker threads
Resolves: NEO-16085, GSD-11678, HSD-14025819208

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2025-10-21 17:37:00 +02:00
Fabian Zwoliński
6102280f71 fix: add missing writeMemory for pooled global surface
Related-To: HSD-18043489182, HSD-18043476772
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-10-17 14:26:54 +02:00
Szymon Morek
c78c1515de performance: reuse cmd buffer without dc flush
Related-To: NEO-16348

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-10-16 16:26:54 +02:00
Lukasz Jobczyk
6515e422e9 refactor: move eviction container to residency controller
Related-To: NEO-13315

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-10-13 08:41:34 +02:00
Compute-Runtime-Validation
244dd9b0b4 Revert "fix: use condition variables instead of busy waits in worker threads"
This reverts commit db0b4a616c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-10-11 03:52:05 +02:00
Igor Venevtsev
db0b4a616c fix: use condition variables instead of busy waits in worker threads
Resolves: NEO-16085, GSD-11678, HSD-14025819208

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2025-10-10 21:42:02 +02:00
Kamil Kopryk
f17ac35108 refactor: improve compilation time
Limit bitset includes,
stl bitset is slow to compile

Related-To: NEO-15390

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-10-03 21:21:25 +02:00
Slawomir Milczarek
40ce5eb55e fix: Fix DirectSubmissionController deadlock with try_lock pattern
Related-To: NEO-13325

Replace blocking obtainUniqueOwnership() with tryObtainUniqueOwnership()
in critical paths to prevent deadlock between controller thread holding
directSubmissionsMutex and submission threads holding CSR locks.

Changes:
- Add CommandStreamReceiver::tryObtainUniqueOwnership() method
- Use try_lock in checkNewSubmissions() and context group idle detection
- Skip contended CSRs instead of blocking (conservative approach)
- Add comprehensive unit tests for try_lock functionality

Fixes deadlock scenario where registerDirectSubmission() waits for
directSubmissionsMutex while checkNewSubmissions() holds it and waits
for CSR ownership locks.

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2025-09-29 11:38:26 +02:00
Kamil Kopryk
8c7fb0dde8 fix: data race in host function data initialization
Make sure hostFunctionInitialized bool is set after actual operations
are done

Related-To: NEO-14577
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-09-25 11:29:01 +02:00
Compute-Runtime-Validation
6736378c4d Revert "fix: use condition variables instead of busy waits in worker threads"
This reverts commit 452475a0b9.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-09-23 17:06:18 +02:00
Igor Venevtsev
452475a0b9 fix: use condition variables instead of busy waits in worker threads
Resolves: NEO-16085, GSD-11678, HSD-14025819208

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2025-09-23 14:44:39 +02:00
Kamil Kopryk
5f59b4ca08 feature: add host function allocation
Related-To: NEO-14577
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-09-23 11:10:45 +02:00
Compute-Runtime-Validation
16a6c3ca8a Revert "feature: add host function allocation"
This reverts commit 75b4de70cd.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-09-23 02:33:15 +02:00
Kamil Kopryk
75b4de70cd feature: add host function allocation
Related-To: NEO-14577
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-09-22 17:55:36 +02:00
Slawomir Milczarek
e80b84e699 feature: Don't terminate ULLS contexts if busy context exists
Enhanced direct submission idle detection to ensure that
ULLS contexts are not terminated if any context in the same group
is still busy or has pending work.
Idle detection now accurately considers the state of all CSRs
in a context group before terminating any direct submission.
Controlled with DirectSubmissionControllerContextGroupIdleDetection
(note: the feature is disabled by default in first step).

Related-To: NEO-13325

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2025-09-12 09:32:59 +02:00
Lukasz Jobczyk
678f99c57d refactor: remove not used dispatch modes
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-09-11 14:59:21 +02:00
Alicja Lukaszewicz
bca503548a feature: add peer access check on driver init
Related-To: NEO-14885, HSD-14024947073

Signed-off-by: Alicja Lukaszewicz <alicja.lukaszewicz@intel.com>
2025-08-27 15:48:22 +02:00
Dominik Dabek
77470acf7a fix: l0, tag update on mem copy ext host ptr
Require tag update on mem copy with external host ptr.
Without this, temporary allocation might not be cleaned before next copy
operation.
If a second copy operation is passed same ptr that has been reallocated,
there will be a pagefault.

Related-To: NEO-15663

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-08-08 12:42:53 +02:00
Mateusz Jablonski
05cf05e10e refactor: remove redundant tracking of media sampler programming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-07-28 15:17:46 +02:00
Tomasz Biernacik
2c5cbec033 feature: control post sync completion check
Related-To: NEO-14844

Signed-off-by: Tomasz Biernacik <tomasz.biernacik@intel.com>
2025-07-15 13:51:19 +02:00
Grochowski, Stanislaw
8180e95e0f fix: ensure pollForCompletion in aub on program termination
Related-To: NEO-14867

Signed-off-by: Grochowski, Stanislaw <stanislaw.grochowski@intel.com>
2025-07-10 08:32:00 +02:00
Kamil Kopryk
bb52c358b9 refactor: flush Task method
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-15011

Also correct ults
2025-06-11 16:36:56 +02:00
Michal Mrozek
ad99f00ba4 refactor: remove unused method
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2025-05-09 10:24:37 +02:00
Lukasz Jobczyk
1d1414febc refactor: remove unused dc flush mitigation
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-05-09 08:26:26 +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
Mateusz Hoppe
3204411aca refactor: use deviceBitfield from CSR when creating engine
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-04-11 17:30:29 +02:00
Brandon Yates
a48d66ad75 feature: Add programExceptions stub to CSR
Related-to: NEO-12967

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2025-04-01 18:33:40 +02: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
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
Lukasz Jobczyk
be946ae56c performance: Optimize make resident for ULLS light
Do not check if ULLS light is active during every Csr::makeResident
call. Store that information once during ULLS init.

Related-To: NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-02-24 12:59:56 +01:00
Filip Hazubski
b60c02d597 fix: Add asserts to ensure NonCopyable and NonMovable n/n
Related-To: NEO-14068

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2025-02-19 11:36:24 +01:00
Lukasz Jobczyk
356d89d608 performance: Disable USM cleaner for ULLS light
Realted-To: NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-02-14 12:38:16 +01:00
Lukasz Jobczyk
c7c7ae9d49 refactor: Remove redundancy around gemCloseWorker in csr
Related-To: NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-02-13 21:42:28 +01:00
Bartosz Dunajski
c2dbdb6797 refactor: move blit post sync data to BlitProperties
Related-To: NEO-13003

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-01-22 18:35:21 +01:00
Krzysztof Sprzaczkowski
a17745532c performance: Move preemption allocation init to the first submission
Related-To: NEO-12323
Signed-off-by: Krzysztof Sprzaczkowski <krzysztof.sprzaczkowski@intel.com>
2025-01-15 20:22:50 +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
Bartosz Dunajski
e8cfb38db4 performance: improve relaxed ordering task count tracking
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-12-18 11:36:22 +01:00
Filip Hazubski
a0cc124b2e performance: Pass RootDeviceIndicesContainer by reference
Additionally pass std::map by reference in UsmMemAllocPoolsManager c-tor.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-12-17 14:18:30 +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