Commit Graph

20 Commits

Author SHA1 Message Date
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
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
Dominik Dabek
ad4d7a2ce8 fix: l0 usm pooling, ipc handling
Move getting usm pool for ptr to its own method.
Move trying to free via pooling to its own method.

Use base ptr of pool for tracking in IPCHandleMap.
Track ipc handle refcount in freeMem.
Return error when trying to use a not allocated ptr within pool.

Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-05-29 16:07:19 +02:00
Dominik Dabek
6afefa1e31 performance: usm device pool, compression handling
Use device compression defaults when allocating pool.
Ignore compression hints when allocating from pool.

Also remove unused late initialization methods.

Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-05-06 16:30:58 +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
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
Dominik Dabek
f03c2fd4a7 fix: initialize scalar field, usm pooling
Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-09-11 11:44:56 +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
Michal Mrozek
d52ca080bd Revert "performance: improve pool handling"
This reverts commit a3c3b6533a.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2024-08-06 13:04:02 +02:00
Michal Mrozek
a3c3b6533a performance: improve pool handling
Related-To: NEO-11731
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2024-06-25 17:04:17 +02:00
Compute-Runtime-Validation
7136dfbd38 Revert "performance: improve pool handling"
This reverts commit 5f0b9efd2b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-06-24 12:47:19 +02:00
Mrozek, Michal
5f0b9efd2b performance: improve pool handling
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
Resolves: NEO-11731
2024-06-14 12:02:34 +02:00
Dominik Dabek
b4d839fe29 performance(usm): l0, add usm host memory pooling
Disabled by default.

Related-To: NEO-11356

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-05-15 15:20:51 +02:00
Dominik Dabek
f40449b3e8 performance: revert usm pool chunk alignment
Revert chunk alignment change (back to 512 bytes) - real cause of issues
was OOB access and need to be investigated by workload owner.

Remove unrecoverable in WddmInterface23 submit to pass errors to upper
layers.

Related-To: NEO-11005

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-04-08 18:46:50 +02:00
Dominik Dabek
9c601f8dc2 fix: increase usm pool chunk alignment
Increase chunk alignment from 512 to 4096.
Adjust tests to account for actual allocation size different than
requested.

Related-To: NEO-11005

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-04-03 13:17:49 +02:00
Dominik Dabek
c27d601c34 refactor: use actual pool address in usm pool
Pass actual pool address to heap allocator. This removes the need to
calculate pooled pointer from pool address and offset.

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-03-14 17:31:15 +01:00
Dominik Dabek
af1620a308 fix(ocl): allocation info from pool svm ptr
Fix querying allocation info from pooled svm ptr.
Handle requested allocation alignment.
Refactor sorted vector usage.
Do not associate device with host pool allocation.

Related-To: NEO-9700

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-01-05 15:20:01 +01:00
Dominik Dabek
2fe3804cc2 performance(ocl): add usm allocation pooling flag
EnableDeviceUsmAllocationPool and EnableHostUsmAllocationPool for device
and host allocations respectively.

Pool size will be set to flag value * MB.

Allocation size threshold to be pooled is 1MB.

Pools are created per context.

Related-To: NEO-9700

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-12-27 11:42:01 +01:00