Commit Graph

517 Commits

Author SHA1 Message Date
Compute-Runtime-Validation 8839d62c79 Revert "performance: use RESOURCE_BARRIER as stalling barrier"
This reverts commit 2a63853349.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-05-16 20:19:06 +02:00
Szymon Morek 2a63853349 performance: use RESOURCE_BARRIER as stalling barrier
Related-To: NEO-14943

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-05-16 14:12:18 +02:00
Szymon Morek bff8f74de7 refactor: remove unused parameter
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-05-15 12:23:27 +02:00
Aleksandra Nizio fa1e3fd6a2 fix: Remove old aub_mem_dump logic and related tests
Related-To: NEO-14718

Signed-off-by: Aleksandra Nizio <aleksandra.nizio@intel.com>
2025-05-13 08:38:59 +02:00
Compute-Runtime-Validation 4ab91eab1e Revert "refactor: move empty sba programming in heapless prolog to base class"
This reverts commit 809feca620.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-05-12 14:00:19 +02:00
Lukasz Jobczyk 4fe3bc40e3 Revert "performance: Remove global fence from command stream on BMG"
This reverts commit 4e823f9e6e.

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-05-12 10:14:46 +02:00
Kamil Kopryk 809feca620 refactor: move empty sba programming in heapless prolog to base class
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-05-09 16:46:02 +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
Lukasz Jobczyk 4e823f9e6e performance: Remove global fence from command stream on BMG
Related-To: NEO-14642

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-05-09 08:26:11 +02:00
Michal Mrozek 6f4a397cfc refactor: remove not required parameter
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2025-05-08 23:13:06 +02:00
Aleksandra Nizio 62739986bf fix: print error in sim mode without available aubstream
Resolves: NEO-14693

Signed-off-by: Aleksandra Nizio <aleksandra.nizio@intel.com>
2025-05-05 11:48:35 +02:00
Compute-Runtime-Validation 9595526a52 Revert "performance: Remove global fence from command stream on BMG"
This reverts commit 304fba1eba.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-05-05 11:06:16 +02:00
Compute-Runtime-Validation edd230b6cb Revert "performance: Remove global fence allocation from BMG"
This reverts commit c9a21c158e.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-05-02 13:32:47 +02:00
Lukasz Jobczyk c9a21c158e performance: Remove global fence allocation from BMG
Resolves: NEO-14642

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-30 17:08:44 +02:00
Lukasz Jobczyk 304fba1eba performance: Remove global fence from command stream on BMG
Related-To: NEO-14642

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-30 15:58:37 +02:00
Compute-Runtime-Validation a6b4e61d34 Revert "performance: Remove global fence from command stream on BMG"
This reverts commit f5301ac379.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-04-29 05:17:21 +02:00
Lukasz Jobczyk 6f4a56d440 refactor: pass product helper to isFenceAllocationRequired
Related-To: NEO-14642

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-28 14:09:02 +02:00
Lukasz Jobczyk f5301ac379 performance: Remove global fence from command stream on BMG
Related-To: NEO-14642

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-28 14:08:47 +02:00
Bartosz Dunajski ab7364ae19 test: improve HWTEST2_F macro
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-04-08 17:18:14 +02:00
Lukasz Jobczyk 8978ea5e5a performance: Do not create global fence allocation on integrated
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-07 11:22:04 +02:00
Compute-Runtime-Validation f332571d96 Revert "performance: Do not create global fence allocation on integrated"
This reverts commit ecf8a07d26.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-04-04 16:26:19 +02:00
Lukasz Jobczyk ecf8a07d26 performance: Do not create global fence allocation on integrated
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-04 11:45:22 +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
Jack Myers 0aa2c4f0cb feature: allow removal of heapful code paths
Related-To: NEO-13007

Signed-off-by: Jack Myers <jack.myers@intel.com>
2025-03-27 01:34:35 +01:00
Kamil Kopryk 73795ced64 refactor: add setupTimestampPacketFlushL3 function
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-03-24 13:10:03 +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
Jack Myers 5f78147e16 fix: hotfix for svmcpu tbx uploads
Test program in the linked, related issue
is crashing in tbx mode. Tbx server indicated
upload of invalid memory was made before exit.

Running with debug messages showed that the
problematic upload was an svmcpu buffer when
running neo with separate cpu and gpu
buffers for shared memory management.

Using this info, the problem was narrowed down
to a missing unprotect call in page fault manager
related code, resulting in a protected(invalid)
memory region getting uploaded to tbx.

It is unclear yet why this unprotect call was not made,
since other svmcpu buffers were uploaded without issue.

This hotfix forces the unprotect call in the fault handler,
which allows the test program to run to completion. However,
there is now a failing test case.

Considering the critical nature of the associated
NEO issue and that this patch should unblock
the work depending on the fix, this hotfix should
get merged regardless of the failing test case.

In the meantime, I will continue triaging the
failing test and will implement a proper fix
once the root cause is isolated.

Related-To: NEO-13404
Signed-off-by: Jack Myers <jack.myers@intel.com>
2025-03-14 04:47:21 +01:00
Zbigniew Zdanowicz ddc0b0d03b feature: disable flat ring buffer for command list append operation
Related-To: NEO-10356

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2025-03-13 06:06:55 +01:00
Zbigniew Zdanowicz cd904269ed fix: request for task count should enable monitor fence dispatch
Related-To: NEO-10356

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2025-03-10 18:25:35 +01:00
Damian Tomczak 81b0cac65f fix: raytracing heapless missing allocation
Related-to: NEO-12737

Signed-off-by: Damian Tomczak <damian.tomczak@intel.com>
2025-03-06 17:26:09 +01:00
Zbigniew Zdanowicz ae1eb076b7 feature: add optional epilogue to flush task method
Related-To: NEO-10356

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2025-03-05 15:15:59 +01:00
Zbigniew Zdanowicz 27d7d72033 feature: add pipeline state management for append command list operation
- command list append state is managed from internal queue and can be skipped
- initial state configuration should be processed by both kernel and non-kernel
- only kernel operation can process required state, as non-kernel cannot change

Related-To: NEO-10356

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2025-03-04 20:43:22 +01:00
Zbigniew Zdanowicz db99c25c79 feature: add support to dispatch epilogue commands into dedicated stream
Related-To: NEO-10356

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2025-03-03 14:39:34 +01:00
Zbigniew Zdanowicz 08b13750a1 fix: set stall cmd flag for bcs flush task count flag
Related-To: NEO-10356

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2025-02-28 12:24:51 +01:00
Bartosz Dunajski c1f2ff1ad6 fix: disable batched dispatch mode in aub csr
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-02-18 13:45:15 +01:00
Jack Myers c26d24e555 fix: tbx page fault manager hang issue
- Updated `isAllocTbxFaultable` to exclude `gpuTimestampDeviceBuffer` from being
faultable.
- Replaced `SpinLock` with `RecursiveSpinLock` in `CpuPageFaultManager` and
`TbxPageFaultManager` to allow recursive locking.
- Added unit tests to verify the correct handling of `gpuTimestampDeviceBuffer`
in `TbxCommandStreamTests`.

Related-To: NEO-13748
Signed-off-by: Jack Myers <jack.myers@intel.com>
2025-02-18 05:05:38 +01:00
Compute-Runtime-Validation 116f7270be Revert "fix: tbx page fault manager hang issue"
This reverts commit 7d4e70a25b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-02-12 10:38:05 +01:00
Jack Myers 7d4e70a25b fix: tbx page fault manager hang issue
- Updated `isAllocTbxFaultable` to exclude `gpuTimestampDeviceBuffer` from being
faultable.
- Replaced `SpinLock` with `RecursiveSpinLock` in `CpuPageFaultManager` and
`TbxPageFaultManager` to allow recursive locking.
- Added unit tests to verify the correct handling of `gpuTimestampDeviceBuffer`
in `TbxCommandStreamTests`.

Related-To: NEO-13748
Signed-off-by: Jack Myers <jack.myers@intel.com>
2025-02-12 02:19:37 +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
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
Mateusz Hoppe 1ce795c265 refactor: fixes in ults
Related-To: NEO-13789

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-01-20 09:57:05 +01:00
Jack Myers d62122a656 fix: exceptions to TBX faultable types
This commit addresses a bug in the previous implementation where almost all once
writable types, except `gpuTimestampBuffers`, were incorrectly enabled for TBX
faultable checks. The fix ensures that only the subset of once writable
types that are also lockable are considered TBX faultable, using the lockable
check to avoid manual exceptions and re-inventing the wheel.

Changes:

- Updated `isAllocTbxFaultable` method to check if the allocation type is
lockable in addition to being once writable.
- Refactored unit tests to include separate checks for lockable and non-lockable
allocation types.

Performance optimization:

- Removed unnecessary memory data erasure in `handlePageFault` to avoid constant
erase/insert operations, leveraging the O(1) search time of unordered maps.

Related-To: NEO-12319
Signed-off-by: Jack Myers <jack.myers@intel.com>
2025-01-17 00:52:49 +01:00
Kamil Kopryk 7d8e08f00b test: adjust code to compile with c++20 2/n
Related-To: NEO-10767
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-01-16 15:24:25 +01:00
Kamil Kopryk 0278d2e652 test: adjust code to compile with c++20
Related-To: NEO-10767
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-01-16 12:04:50 +01:00
Kamil Kopryk c5ba3dd575 test: remove not needed volatile
Related-To: NEO-10767
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-01-16 11:36:45 +01:00
Jack Myers 0b2ac4d331 feature: Tbx faults for all once writable types
Patch #34223 introduced the TbxPageFaultManager for handling
uploads/downloads of host buffers to the Tbx server, ensuring
host memory is kept consistent between the host and device,
even after multiple alternating writes from the host and gpu.

This patch enable fault handling for all `isAubOnceWritable`
types.

Minor exception for gpuTimestampBuffers as enabling this type
seems to break things in real-world use cases outside of ULTs.

Related-To: NEO-12319
Signed-off-by: Jack Myers <jack.myers@intel.com>
2025-01-16 01:43:19 +01:00
Kamil Kopryk 99a7b5a4fb refactor: remove not needed volatile
Related-To: NEO-10767
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-01-16 00:43:10 +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