Jaroslaw Warchulski
33e25b260e
refactor: do not include gmm_lib.h in gmm.h
...
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com >
2025-12-08 12:52:02 +01:00
Mateusz Jablonski
4f5d1f1175
feature: add stream properties for xe3p specific fields
...
Related-To: NEO-16649
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2025-12-08 09:23:23 +01:00
Kamil Kopryk
fefc1f6a36
refactor: move logic to dedicated functions
...
Related-To: NEO-14577
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com >
2025-12-08 08:05:32 +01:00
Maciej Bielski
147bd894ec
refactor: use PRINT_STRING macro for most diagnostics
...
Related-To: NEO-14742
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com >
2025-11-28 13:28:29 +01:00
Michal Mrozek
68d01f398f
refactor: remove not needed code
...
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com >
2025-11-28 13:08:13 +01:00
Jaroslaw Warchulski
cc79a136c9
refactor: do not use C headers
...
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com >
2025-11-25 12:07:50 +01:00
Szymon Morek
861ea7200d
performance: increase heap size to 4MB on OCL
...
Related-To: NEO-16348
Signed-off-by: Szymon Morek <szymon.morek@intel.com >
2025-11-25 09:58:16 +01:00
Kamil Kopryk
56b30d1803
feature: redesign host function workers
...
Each host function gets its unique ID within a CSR,
uses 1 mi store to write ID - to signal that host function is ready,
and 1 mi semaphore wait will wait for the ID to be cleared,
Use 0th bit from ID as pending/completed flag,
host function ID is incremented by 2, and starts with 1.
So each ID will always have 0bit set.
This is a must have since semaphore wait can wait for 4 bytes only.
Adjust command buffer programming and patching logic to IDs.
Add hostFunction callable class - using invoke method,
which stores required information about callback.
Add host function streamer - stores all host function data
for a given CSR.
All user provided host functions are stored in unordered map,
where key is host function ID.
Add host function scheduler, and a thread pool - under debug flag
Single threaded scheduler loops over all registered host function streamers,
dispatch ready to execute host functions to thread pool.
Allow for out of order host functions execution for OOQ - under debug flag,
each host function has bool isInOrder flag which indicates if it can be
executed Out Of Order - in this mode, ID tag will be cleared immediately,
so semaphore wait will unblock before the host function execution.
Remove Host Function worker CV and atomics based implementation.
Rename classes
Related-To: NEO-14577
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com >
2025-11-25 08:05:41 +01:00
Mateusz Jablonski
a22817200f
refactor: add wrapper for max gfx core
...
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2025-11-24 21:35:38 +01:00
Igor Venevtsev
7f593bd295
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-11-21 08:48:45 +01:00
Kamil Kopryk
c3e98e346a
refactor: mark host functions classes as final
...
Related-To: NEO-14577
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com >
2025-11-18 14:59:02 +01:00
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
Jakub Nowacki
be34c1ac86
performance: move instead of copy
...
Related-To: NEO-15630
Signed-off-by: Jakub Nowacki <jakub.nowacki@intel.com >
2025-11-14 16:30:05 +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
Jaroslaw Warchulski
0afcec950e
refactor: cleanup includes
...
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com >
2025-11-14 11:22:46 +01:00
Mateusz Hoppe
91fe2ec380
refactor: remove not needed debug flag AppendAubStreamContextFlags
...
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com >
2025-11-12 16:06:09 +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
Mateusz Jablonski
6f83f699d7
fix: unify expect memory functions
...
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2025-10-17 14:30:38 +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
64b79723cc
performance: enable cmd buffers reuse without DC flush
...
Related-To: NEO-16348
Signed-off-by: Szymon Morek <szymon.morek@intel.com >
2025-10-17 14:26:37 +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
Mateusz Jablonski
35f6dc12b8
refactor: remove not needed code
...
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2025-10-15 16:19:04 +02:00
Lukasz Jobczyk
ce1c5d747b
fix: fix data race issue
...
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com >
2025-10-13 14:11:28 +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
Compute-Runtime-Validation
2eb8928ec5
Revert "performance: increase heap size to 4MB"
...
This reverts commit f41bb3517a .
Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com >
2025-10-10 22:23:23 +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
Mateusz Jablonski
d53ac208fc
refactor: remove not needed code
...
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2025-10-10 19:31:00 +02:00
Mateusz Jablonski
1918c5e9da
refactor: add helper to create uint64 bitmask
...
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2025-10-10 12:54:50 +02:00
Jack Myers
f06bb256c7
refactor: sba type helper
...
Signed-off-by: Jack Myers <jack.myers@intel.com >
2025-10-10 11:36:36 +02:00
Szymon Morek
f41bb3517a
performance: increase heap size to 4MB
...
Related-To: NEO-16348
Signed-off-by: Szymon Morek <szymon.morek@intel.com >
2025-10-09 13:03:53 +02:00
Mateusz Jablonski
b807b43b35
refactor: remove not needed code
...
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2025-10-09 10:51:44 +02:00
Mateusz Jablonski
2b686a588e
refactor: remove not needed code
...
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2025-10-08 11:48:03 +02:00
Mateusz Jablonski
f3e4ba9ff6
refactor: remove not needed code
...
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2025-10-07 13:44:30 +02:00
Zbigniew Zdanowicz
24db09e3e9
fix: make pipeline thread arbitration one-time switch property
...
- detect switch happens by making "is dirty" property
- make sure to call the property setter
- setting to always true will make "is dirty" true only once
Related-To: NEO-16330
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com >
2025-10-07 11:27:22 +02:00
Mateusz Hoppe
f411dc2e65
fix: debug key for using temp memory when writing to aub
...
Related-To: NEO-16276
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com >
2025-10-07 09:43:02 +02:00
Compute-Runtime-Validation
bafb847c73
Revert "fix: use condition variables instead of busy waits in worker threads"
...
This reverts commit 9d1da44e08 .
Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com >
2025-10-06 20:38:46 +02:00
Radoslaw Jablonski
54de14a9dc
refactor: apply clang-format's InsertBraces rule
...
Formats code before InsertBraces rule is enabled.
Signed-off-by: Radoslaw Jablonski <radoslaw.jablonski@intel.com >
2025-10-06 15:32:46 +02:00
Igor Venevtsev
9d1da44e08
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-06 13:27:34 +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
Szymon Morek
ee032982a6
refactor: print faulted address when waiting for tag
...
getDeviceState on Windows prints faulted GPU VA
if OOB access happened.
Signed-off-by: Szymon Morek <szymon.morek@intel.com >
2025-10-02 14:59:02 +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