Commit Graph

639 Commits

Author SHA1 Message Date
Maciej Bielski
ec21260fda refactor: extract StorageInfo::memoryBanks computation
Move the code determining the memoryBanks parameter into separate
virtual function for further memory-manager-specific customization.

Related-To: NEO-9754
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-06-05 17:50:55 +02:00
Bartosz Dunajski
b9351f1a38 fix: require cpu access for syncDispatchToken allocation type
Related-To: NEO-8171

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-06-05 16:07:28 +02:00
Bartosz Dunajski
64af8dd956 feature: allocating interrupt support
Related-To: NEO-8179

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-06-03 18:35:24 +02:00
Dominik Dabek
79b9e73311 fix: device usm alloc reuse
Do not put into usm reuse if is internal.
Set new isInternalAllocation flag for globals allocations.

Use actual size on device for tracking memory usage.

Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-05-29 12:18:34 +02:00
Compute-Runtime-Validation
dd55225041 Revert "fix: device usm alloc reuse"
This reverts commit 7cb1819b22.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-05-28 21:19:40 +02:00
Dominik Dabek
7cb1819b22 fix: device usm alloc reuse
Do not put into usm reuse if is internal.
Set new isInternalAllocation flag for globals allocations.

Use actual size on device for tracking memory usage.

Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-05-27 15:34:05 +02:00
Wenbin Lu
1c98420518 fix: pass custom alignments for WSL2 device and shared memory allocation
Related-To: NEO-8431

Signed-off-by: Wenbin Lu <wenbin.lu@intel.com>
2024-05-24 15:52:40 +02:00
Maciej Plewka
18ea80865b refactor: Use GPU VA as id for ResidencyDebug logs
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-05-23 09:55:03 +02:00
Compute-Runtime-Validation
0cd45fcb2e Revert "refactor: Use GPU VA as id for ResidencyDebug logs"
This reverts commit 3a0b8825d6.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-05-22 17:28:57 +02:00
Maciej Plewka
3a0b8825d6 refactor: Use GPU VA as id for ResidencyDebug logs
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-05-22 15:01:36 +02:00
Dominik Dabek
c9758216fc fix(ocl): do not reuse usm for globals export
Allocating global surface is expecting that the usm allocation is zeroed
out. Reusing allocations can be filled with junk data and this caused
errors.

Resolves: HSD-18038551036, HSD-18038551766, HSD-18038551957, HSD-18038552252

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-05-21 14:38:28 +02:00
Mateusz Hoppe
bfc3e8fcf0 fix: assign unique ContextId for secondary engines
- add secondary engines to allRegisteredEngines

Related-To: NEO-11219

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-05-20 13:19:20 +02:00
Dominik Dabek
a236171f0d performance(ocl): enable device usm alloc reuse
Enabling on MTL+
Limited to use max 2% of global device memory.

Related-To: NEO-6893, NEO-11463

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-05-17 13:32:45 +02:00
Maciej Bielski
dc32da2507 feature: prepare StorageInfo for Drm-specific customization
Get the local memory regions count from the primary source (MemoryInfo)
and store for further use when using DrmMemoryManager.
Add a point of dispatch (virtual `createStorageInfoFromProperties`) for
further Drm-specific customizations related to StorageInfo. As the
function became virtual, move one of its callers
(`isLocalMemoryUsedForIsa()`) from the constructor of `MemoryManager` to
respective constructors of all derivative classes. This prevents
bypassing the virtual call dispatch.

Related-To: NEO-9754
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-05-16 12:24:48 +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
Szymon Morek
aa0441bc63 fix: Iterate from oldest allocation to latest
Related-To: NEO-11409

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-05-13 19:05:11 +02:00
Compute-Runtime-Validation
ebf09afc42 Revert "performance: Stop direct submission before removing host ptrs"
This reverts commit 4fd219cdbb.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-05-13 10:10:51 +02:00
Szymon Morek
e35b951a00 performance: Allow indirect allocs as pack on OpenCL
Related-To: NEO-11228

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-05-10 17:57:42 +02:00
Mateusz Hoppe
76af952fcb feature: Bindless sampled image support
Related-To: NEO-10352

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-05-08 17:50:37 +02:00
Lukasz Jobczyk
4fd219cdbb performance: Stop direct submission before removing host ptrs
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-05-07 13:25:09 +02:00
Szymon Morek
6df46aa062 performance: Iterate over indirect allocations once
Related-To: NEO-11228

Iterate only on new allocations when making indirect
allocations resident.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-05-06 15:51:37 +02:00
Szymon Morek
d708c5f300 performance: Allow indirect allocs as pack on windows
Related-To: NEO-11228

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-05-06 15:03:12 +02:00
Milczarek, Slawomir
ab2eeeca4c feature: Add TBX support for USM shared memory with USM host ptr
Related-To: NEO-11158

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2024-04-22 14:33:37 +02:00
Mateusz Jablonski
b24ad6a1b0 fix: allocate in system memory when system memory bitfield is set in properties
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-04-11 13:47:57 +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
Mateusz Hoppe
d6675b14b3 fix: release secondaryContexts prior to primary context
Related-To: NEO-10920

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-04-05 16:34:39 +02:00
Maciej Plewka
c6960ac947 feature: Bind ring buffer allocations as read only
Related-To: NEO-10398
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-04-04 11:23:15 +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
Plewka, Maciej
5c15aaf48a feature: Bind command buffer allocations as read only
Related-To: NEO-10398
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-04-02 16:08:48 +02:00
Mateusz Jablonski
420e1391b2 fix: handle not aligned gtt size reported by i915
when i915 reports gtt size between 47 and 48 bits we consider
it as 48 bit VA space

Related-To: GSD-8215
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-29 07:51:06 +01:00
Young Jin Yoon
d6a14d4ed5 feature: support explicit memory locking
Added lockMemory in context to explicitly locking memory,
Added a boolean flag in graphics_allocation to indicate the allocation
is locked, and modified memory_operations_handler to add lock().

Related-To: NEO-8277
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2024-03-29 07:31:22 +01:00
Maciej Plewka
3d9e95d177 feature: Bind isa allocations as read only
Related-To: NEO-10398
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-03-27 17:39:46 +01:00
Maciej Plewka
b722f3b579 feature: Add interface to bind resources as readonly
Related-To: NEO-10398
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-03-27 14:24:58 +01:00
Compute-Runtime-Validation
8e44a46983 Revert "feature: bind resources as read only"
This reverts commit f3d36d3350.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-03-27 08:51:47 +01:00
Maciej Plewka
f3d36d3350 feature: bind resources as read only
Related-to: NEO-10398
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-03-26 14:11:57 +01:00
Bartosz Dunajski
74dcb5a9e3 feature: initial support for sync dispatch token allocation
Related-To: NEO-8171

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-03-26 12:07:58 +01:00
Young Jin Yoon
068f6a25c6 Revert "feature: support explicit memory locking"
This reverts commit 27a3307bb0.

Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2024-03-25 20:10:20 +01:00
Mateusz Jablonski
78a4a92b44 refactor: reorder members to reduce internal padding in structs
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-25 15:50:00 +01:00
Young Jin Yoon
27a3307bb0 feature: support explicit memory locking
Added lockMemory in context to explicitly locking memory,
Added a boolean flag in graphics_allocation to indicate the allocation
is locked, and modified memory_operations_handler to add lock().
Change the logic to work correctly with makeResident() when lock() is
called previously for the same memory region

Related-To: NEO-8277
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2024-03-25 09:49:18 +01:00
Mateusz Hoppe
0cec5ccc32 fix: check if any of devices has BindlessHeapHelper enabled
- report Bindless_images extension in driver only when at least one
device has global bindless heaps enabled

Related-To: NEO-10352

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-03-20 20:50:58 +01:00
Mateusz Hoppe
27b930cabc refactor: allow default setting for UseExternalAllocatorForSshAndDsh
- value of -1 selects driver default setting for external allocator

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-03-20 12:29:56 +01: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
5ba9308804 performance: debug flag for localPreferred
Add flag for setting localPreferred (implicit when gmm localOnly=0 and
NonLocalOnly=0) when allocating buffer, svmGpu and image.

Related-To: NEO-9695

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-03-11 10:51:49 +01:00
Filip Hazubski
d25026b263 refactor: Add getTotalMemBankSize function to ReleaseHelper
Minor refactor of ULTs to not use hard coded banks size.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-03-06 09:53:56 +01:00
Michal Mrozek
ef2d3b538b performance: move timestampPacketTagBuffer to local memory
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
Resolves: NEO-7765
2024-02-23 09:55:48 +01:00
Lu, Wenbin
5e562ae7b0 fix: store the correct pagesize in SvmAllocationData
Also use the same alignment for both CPU & GPU in shared USM

Related-To: GSD-7103, NEO-9812

Signed-off-by: Wenbin Lu <wenbin.lu@intel.com>
2024-02-08 10:10:22 +01:00
Dominik Dabek
371788210d performance: limit usm host allocation recycle
Query system total memory size and limit usm host allocation recycle to
use at most x%.
x is read from ExperimentalEnableDeviceAllocationCache for device and
ExperimentalEnableHostAllocationCache for host.

Related-To: GSD-7497

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-02-07 17:45:41 +01:00
Dominik Dabek
2cad595a0d performance: debug flag for usm host alloc recycle
set ExperimentalEnableHostAllocationCache=1 to recycle host usm
allocations

Related-To: GSD-7497

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-02-01 16:47:59 +01:00
Mateusz Jablonski
2237961deb performance: add macro for ULT-only unrecoverable if
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-02-01 15:09:31 +01:00
Compute-Runtime-Validation
e7b7eb06e4 Revert "fix: store the correct pagesize in SvmAllocationData"
This reverts commit a104d9199d.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-02-01 05:00:45 +01:00