Commit Graph

205 Commits

Author SHA1 Message Date
Jaroslaw Warchulski
dd253b804b refactor: cleanup includes
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-11-18 14:44:30 +01:00
Fabian Zwoliński
3c43276dab feature: add global/const surface nonUSM allocation pooling
Related-To: NEO-12287
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-10-29 16:56:59 +01:00
Fabian Zwoliński
c0abff9cf2 refactor: introduce generic pool allocator using traits pattern
Related-To: NEO-12287
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-10-28 13:21:03 +01:00
Mateusz Hoppe
8d8404f59b performance: improve performance by caching debugger object
- Device::getDebugger() does not reference rootDeviceEnvironment

Resolves: GSD-11858

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-10-21 11:38:54 +02:00
Alicja Lukaszewicz
dd252e7852 feature: improve logic to check for P2P access
Related-To: NEO-15711

Signed-off-by: Alicja Lukaszewicz <alicja.lukaszewicz@intel.com>
2025-10-15 10:45:22 +02:00
Dominik Dabek
8575573dbd fix: l0, bindless image from pooled alloc
Make sure pool offset is applied when growing pools are used.

Related-To: NEO-16317, GSD-11804

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-10-06 10:21:05 +02:00
Dominik Dabek
f54e3fda41 feature: adapt usm pool manager
Change behavior to continue allocating usm pools as needed.
Intended to replace singular usm pools.

Related-To: NEO-16084

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-09-24 15:16:10 +02:00
Fabian Zwoliński
a1c5fa1a13 feature: add pooling of USM global/constant surface
Related-To: NEO-12287
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-09-23 18:24:18 +02:00
Slawomir Milczarek
a5f08b5f42 feature: Make priority level in priority extension truly optional
Related-To: NEO-16102

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2025-09-16 09:34:08 +02:00
Compute-Runtime-Validation
e2d12e1742 Revert "feature: add pooling of USM global/constant surface"
This reverts commit 68698c9a74.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-09-14 16:26:29 +02:00
Fabian Zwoliński
68698c9a74 feature: add pooling of USM global/constant surface
Related-To: NEO-12287
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-09-12 16:05:52 +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
Alicja Lukaszewicz
0335d44a56 refactor: move peer access handling to shared device
Related-To: NEO-14885, HSD-14024947073

Signed-off-by: Alicja Lukaszewicz <alicja.lukaszewicz@intel.com>
2025-08-19 10:40:41 +02:00
Grochowski, Stanislaw
e652679b95 fix: correct pollForCompletion in aub on program termination
Related-To: NEO-14867

Signed-off-by: Grochowski, Stanislaw <stanislaw.grochowski@intel.com>
2025-07-17 12:59:00 +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
Szymon Morek
6a7f6f1ad6 fix: add noexcept to move operators
Without it, copy operator is selected, even if move is explicitly defined.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-06-09 10:32:23 +02:00
Mateusz Hoppe
0d57dcfdf0 feature: add L0 API querying priority levels - zeDeviceGetPriorityLevels()
Related-To: NEO-14572

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-05-23 09:24:16 +02:00
Lukasz Jobczyk
df2c776aab refactor: Remove unused cmdq round robin engine assign
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-05-09 11:03:57 +02:00
Dominik Dabek
75e313ce28 feature: prepare for l0 usm device pooling
Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-04-28 14:55:03 +02:00
Brandon Yates
4651e72b0b fix: Fail device init if kernel debugging is misconfigured
Also print error to stderr

Related-to: GSD-10780

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2025-04-02 21:06:30 +02:00
Fabian Zwoliński
7ef3880793 feature: implement pool allocator for gpuTimestampDeviceBuffer
The patch applies to Level Zero.
Only allocations < 2MB will be fetched from the pool.
Allocations are shared and reused within a given device.

Additionally, I added a new debug flag to control the allocator:
EnableTimestampPoolAllocator

Related-To: NEO-12287
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-04-02 14:28:56 +02:00
Lukasz Jobczyk
0a11a96a53 refactor: Add dedicated method to check if any ULLS light enabled
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-31 16:36:20 +02:00
Dominik Dabek
915d657420 fix: flag to limit usm reuse based on memory usage
Host usm and device usm for igfx checks system memory usage.
Device usm for dgfx checks local memory usage.

If used memory is above limit threshold:
- no new allocations will be saved for reuse
- cleaner will use shorter hold time of 2 seconds
- cleaner will free all eligible allocations, regardless of async
deleter thread having work

Motivation: in case of gfx memory being full, making resident new
allocations will require evictions which leads to massive slowdown on
enqueue calls.
This change aims to minimize cases where extra memory usage from usm
reuse mechanism leads to above situation.

Related-To: NEO-6893, NEO-14160

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-03-27 10:25:19 +01:00
Compute-Runtime-Validation
a89113fa1a Revert "fix: Fail device init if kernel debugging is misconfigured"
This reverts commit c122bc51f9.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-03-26 13:27:12 +01:00
Brandon Yates
c122bc51f9 fix: Fail device init if kernel debugging is misconfigured
Also print error to stderr

Related-to: GSD-10780

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2025-03-25 20:40:25 +01:00
Jitendra Sharma
dda7876d3a feature: Introduce SipClassType::externalLib
Related-To: NEO-13737
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2025-03-19 11:06:03 +01:00
Compute-Runtime-Validation
6ee39ed94c Revert "fix: Fail device init if kernel debugging is misconfigured"
This reverts commit b0c92ea425.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-03-10 12:23:07 +01:00
Brandon Yates
b0c92ea425 fix: Fail device init if kernel debugging is misconfigured
Also print error to stderr

Related-to: GSD-10780

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2025-03-08 05:02:42 +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
Filip Hazubski
6b6202446b fix: Add asserts to ensure NonCopyable and NonMovable 3/n
Related-To: NEO-14068

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2025-02-18 17:16:03 +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
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
Mateusz Jablonski
6ec92ac082 refactor: move groupDevices logic to shared code
update platforms used in unit test

Related-To: NEO-14062
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-02-13 21:42:43 +01:00
Dominik Dabek
474b91aa36 fix: move device usm reuse max size to device
Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-01-20 18:05:37 +01:00
Jaroslaw Warchulski
a180afa2e6 fix: respect affinity mask with COMBINED hierarchy in OCL
Related-To: GSD-9560
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-01-13 15:38:39 +01:00
Dominik Dabek
e61d04a881 fix(ocl): track buffer pool count per device
Track amount of created buffer pools per device. Do not allocate extra
pools if limit is reached. New contexts will have pooling disabled if
limit is reached on device.

Related-To: NEO-13461

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-12-16 11:38:05 +01:00
Maciej Plewka
8151224501 fix: add microsecond resolution for timeout
Related-To: NEO-13445
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-12-13 09:32:18 +01:00
Compute-Runtime-Validation
484210d656 Revert "fix: limit usm device reuse based on used memory"
This reverts commit 1252b10ba9.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-12-05 23:17:51 +01:00
Dominik Dabek
1252b10ba9 fix: limit usm device reuse based on used memory
Calculate available memory for usm device reuse based as (total device
memory - used memory) * fraction for reuse.

Use sys mem allocs for devices without local memory.

Related-To: NEO-12902

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-12-04 08:11:23 +01:00
Szymon Morek
e6d11eb04b performance: stop ULLS for BCS during migration
Related-To: NEO-13340

When regular copy CSR has enabled direct submission,
stop it before migration on internal CSR.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-12-02 17:57:12 +01:00
Compute-Runtime-Validation
bced7e4621 Revert "performance: stop ULLS for BCS during migration"
This reverts commit 81ba52aac4.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-11-29 04:42:26 +01:00
Szymon Morek
81ba52aac4 performance: stop ULLS for BCS during migration
Related-To: NEO-13340

When regular copy CSR has enabled direct submission,
stop it before migration on internal CSR.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-11-27 20:06:50 +01:00
Dominik Dabek
e55aa958b7 fix: track usm reuse usage in multiple contexts
Add tracking of memory used for usm reuse mechanism when multiple cl
contexts are used.
Tracking for device added to NEO::Device, for host added to
NEO::MemoryManager.

This fixes usm reuse using x% of memory per each context instead of
globally.

Related-To: NEO-13308

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-11-26 16:00:45 +01:00
Wojciech Konior
6b40f9bc5a refactor: engineInstancedType removed
Related-To: NEO-12594

Signed-off-by: Wojciech Konior <wojciech.konior@intel.com>
2024-10-09 16:30:48 +02:00
Filip Hazubski
ebc19b4a70 feature: Add logic to disable bindless addressing via AIL
Add mockable Device functions to get ReleaseHelper and AILConfiguration.

Resolves: NEO-12699

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-09-18 13:49:51 +02:00
Kamil Kopryk
c4306a13b2 fix: set debugSurface in subdevices
Related-To: NEO-10681

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-09-11 15:10:04 +02:00
Dominik Dabek
b2fc7345cf performance: redesign usm alloc reuse mechanism
Dedicated pools for different allocations size ranges.
Additional reused allocations will create their own pools.
Do not reuse allocations >256MB.

Related-To: NEO-6893, NEO-12299, NEO-12349

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-09-10 18:12:14 +02:00
Mateusz Hoppe
9d5f8eb587 refactor: save hpCopyEngine in Device
- remove loop iteration to get hpCopyEngine

Related-To: NEO-11983

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-09-06 17:56:53 +02:00
Mateusz Hoppe
d9864eca7a feature: add context group support for root device engine
Related-To: NEO-12257

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-08-27 10:07:28 +02:00
Bartosz Dunajski
ce0ecf5939 fix: download L0 Event TBX allocation on related subdevice if needed
Related-To: HSD-18038498579

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-08-19 18:34:58 +02:00