Commit Graph

785 Commits

Author SHA1 Message Date
Michal Mrozek dd631610b3 refactor: move memory tracking to memory manager
- remove wddm specific code
- improve total size reported to be in decimal

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2024-09-12 17:32:38 +02:00
Michal Mrozek da59b88122 refactor: improve logging of allocations
add capability to measure total amount of allocated memory
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2024-09-12 11:00:27 +02: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
Wenbin Lu bfaeeb01d6 feature: support SVM heap in reserveVirtualMem
Related-To: NEO-11981

Signed-off-by: Wenbin Lu <wenbin.lu@intel.com>
2024-09-09 23:22:04 +02:00
Fabian Zwoliński 38e1614f4a fix: create and use new allocation type for syncBuffer
Related-To: NEO-11533
Related-To: HSD-18039788811
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2024-09-06 14:11:33 +02:00
Compute-Runtime-Validation d842f65cf1 Revert "fix: submit dummy exec to pin memory during zeContextMakeMemoryReside...
This reverts commit f9b87d53e6.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-09-05 03:28:03 +02:00
Maciej Plewka f9b87d53e6 fix: submit dummy exec to pin memory during zeContextMakeMemoryResident call
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>

Related-To: NEO-11879
2024-09-04 14:07:29 +02:00
Mateusz Hoppe 32fb476f6d refactor: debugbreak in simulation on memcopy to multi bank allocation
- if allocation has multiple banks, memcpy cannot write different data
for multiple banks

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-09-04 12:27:20 +02:00
Compute-Runtime-Validation a4f68c57bb Revert "refactor: debugbreak in simulation on memcopy to multi bank allocation"
This reverts commit 1c51734642.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-09-04 05:48:55 +02:00
Mateusz Hoppe 1c51734642 refactor: debugbreak in simulation on memcopy to multi bank allocation
- if allocation has multiple banks, memcpy cannot write different data
for multiple banks

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-09-03 20:47:50 +02:00
Compute-Runtime-Validation 99f62ac866 Revert "feature: support SVM heap in reserveVirtualMem"
This reverts commit 93cde3ee12.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-09-03 20:20:25 +02:00
Wenbin Lu 93cde3ee12 feature: support SVM heap in reserveVirtualMem
Related-To: NEO-11981

Signed-off-by: Wenbin Lu <wenbin.lu@intel.com>
2024-09-03 11:38:51 +02:00
Mateusz Jablonski b6eb4792dc performance: return const ref instead of struct copy from getBindlessInfo
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-02 18:40:01 +02:00
Compute-Runtime-Validation 956dd8e17d Revert "fix: set properly resource params when setAllocationType"
This reverts commit 2e0884a301.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-08-24 05:01:38 +02:00
Katarzyna Cencelewska 2e0884a301 fix: set properly resource params when setAllocationType
gmm params: usage, cachable and resource info
should be set properly when override allocation type

Resolves: HSD-22020344331
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2024-08-23 16:57:23 +02:00
Mateusz Jablonski 7ac41615cd fix: create thread with function pointer
don't create async thread in neo shared tests

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-08-21 18:02:37 +02:00
Bartosz Dunajski bca8478bd4 feature: use iotclhelper to get num media engines
Related-To: NEO-9777

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-08-08 09:36:28 +02:00
Bartosz Dunajski 24cfd203ab fix: dont download tbx allocations on heapless first device submission
Related-To: HSD-18039476929

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-08-06 14:03:42 +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
Dominik Dabek e9e6cc05e3 fix: mem alloc size tracking safety
Make sure local mem alloc size atomic array is initialized with 0.
Add debug breaks to catch possible overflow on unregistering
allocations.

Related-To: NEO-11356

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-08-05 11:51:17 +02:00
Dominik Dabek 26428d5af3 feature: track used memory by allocations
Track memory used by memory allocations. System and local per device.
Will be used for heuristics in memory pooling.

Related-To: NEO-11356

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-08-02 17:54:34 +02:00
Bartosz Dunajski fa4812f963 fix: add alignment flag support in svm path
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-08-01 10:40:47 +02:00
Dominik Dabek 9b3ccf73b7 refactor: host usm recycle
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-07-23 16:20:21 +02:00
Bartosz Dunajski 18c4f0b54f fix: dont reset cpu ptr in tbx mode during virtual map
Related-To: HSD-18038484849

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-07-23 15:32:05 +02:00
Szymon Morek 0e6729062a performance: enable compression on shared USM
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-07-22 15:36:37 +02:00
Dominik Dabek a479afdbc8 performance: device usm sets localOnlyRequired
Device USM allocations should not be allowed to migrate to host memory

Related-To: NEO-11843

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-07-19 18:58:02 +02:00
Dominik Dabek 4fa6711025 performance(ocl): change device usm recycle to 8%
Increase threshold of device usm allocation recycling to 8% of device
memory.

Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-07-17 19:50:46 +02:00
Szymon Morek b03ac6abd1 fix: disable usm compression on linux
Related-To: NEO-12047

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-07-16 14:59:33 +02:00
Szymon Morek 432ecbc8f4 fix: disable compression for exported allocations
Related-To: NEO-12021

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-07-16 05:41:14 +02:00
Szymon Morek 35cbbfe43a performance: Don't wait for taskCount for indirect allocs
Related-To: GSD-9385

In case of indirect allocations, we don't really know
their task count because we can't track their true usage
on GPU.
In case of non-blocking free, don't wait for latestSentTaskCount.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-07-10 15:51:04 +02:00
Szymon Morek 457cb005de performance: iterate over indirect allocations once
Related-To: NEO-11921

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-07-09 09:31:52 +02:00
Szymon Morek e8ee91a694 fix: iterate over each indirect allocation
Related-To: GSD-9450

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-07-04 12:01:46 +02:00
Bartosz Dunajski bb21d25ed0 feature: initial support for creating media context
Related-To: NEO-11386

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-07-03 12:23:31 +02:00
Szymon Morek 3dd051c3ee performance: adjust compression handling
Related-To: NEO-11882

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-07-03 09:37:11 +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
Jaroslaw Warchulski 63da79798d refactor: reduce the number of GraphicsAllocation constructors and derivatives
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2024-06-18 21:31:37 +02:00
Jaroslaw Warchulski daec249430 refactor: remove not needed createGraphicsAllocationFromNTHandle method
Related-To: NEO-11498
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2024-06-18 14:25:00 +02:00
Compute-Runtime-Validation 196f0a6eee Revert "fix: pass custom alignments for WSL2 device and shared memory allocat...
This reverts commit 1c98420518.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-06-18 07:58:28 +02:00
Mateusz Hoppe b3d72ddd3d fix: write memory for resident allocations in simulation mode
- refactor and call proceesFlushResdiency() on memoryOperationsHandler
- call free() to remove allocation from resident allocations when
graphics allocation is released

Related-To: NEO-11719

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-06-14 18:49:01 +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
Maciej Bielski fb856578a5 fix: restore overlooked debug flag usage
Overlooked during recent refactor.
ec21260fda

Related-To: NEO-9754

Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-06-13 08:37:47 +02:00
Jaroslaw Warchulski 76a05c1cab refactor: pass arrayIndex to Wddm::openNTHandle function
Related-To: NEO-11498
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2024-06-12 12:11:35 +02:00
Maciej Plewka 32cfa3d497 fix: stop using LocalOnly flag on Xe2+ platforms
Related-To: NEO-11391
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-06-10 11:26:20 +02:00
Jaroslaw Warchulski 0ac1be7669 refactor: pass arrayIndex to Wddm::openSharedHandle function
Related-To: NEO-11498
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2024-06-07 09:51:26 +02:00
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
Lu, Wenbin a104d9199d fix: store the correct pagesize in SvmAllocationData
Related-To: GSD-7103, NEO-9812

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2024-01-31 09:12:20 +01:00
Maciej Plewka 564e0f0319 performance: Align host mem to 2MB when range is not limited
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>

Related-To: NEO-10217
2024-01-30 14:43:13 +01:00
Katarzyna Cencelewska 67b0b18be3 fix: osAgnostic path for allocate with alignment
Resolves: NEO-9334
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2024-01-25 11:03:34 +01:00
Katarzyna Cencelewska 7bbe57c671 feature: add debug info for logging pat indexes
Related-To: HSD-18031172224
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2024-01-23 13:34:35 +01:00
Filip Hazubski b533024b70 fix: Ensure correct evaluation order in gfx_partition.cpp
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-01-18 19:12:33 +01:00
Mateusz Jablonski 556645e0c5 fix: add unrecoverable to avoid OOB access
Related-To: NEO-9860
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-01-16 00:12:11 +01:00
Mateusz Jablonski 7b40b01f54 feature: add debug key for toggling bit in 57bit GPU VA for specific allocations
Related-To: NEO-9419
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-01-15 19:37:00 +01:00
Fabian Zwolinski a3bd629aff fix: store image implicit args in bindless slot 1
bindless slot 0: image
bindless slot 1: image implicit args
bindless slot 2: redescribed image

Redescribed image moved one slot higher.
Separate allocation is created for new bindless slot.

Related-To: NEO-9740
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2024-01-12 13:09:06 +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
Dunajski, Bartosz d7b6f11ced refactor: improve creating 48b resources
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-29 10:05:42 +01:00
Mateusz Hoppe 31e9b5e9fa feature: add support for secondary contexts in group
Related-To: NEO-7824

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-12-28 13:31:08 +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
Compute-Runtime-Validation f2c9d7172a Revert "fix: store image implicit args in bindless slot 1"
This reverts commit b6d572ddb8.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-12-23 12:01:42 +01:00
Fabian Zwolinski b6d572ddb8 fix: store image implicit args in bindless slot 1
bindless slot 0: image
bindless slot 1: image implicit args
bindless slot 2: redescribed image

Redescribed image moved one slot higher.
Separate allocation is created for new bindless slot.

Related-To: NEO-9740
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-12-20 19:09:14 +01:00
Mateusz Jablonski a6458433dc refactor: correct naming of enum class constants 9/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-19 10:36:25 +01:00
Mateusz Jablonski dd1b9d6abc refactor: correct naming of enum class constants 8/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-19 08:18:18 +01:00
Mateusz Jablonski 27fbdde4c5 refactor: correct naming of unified memory enums
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-13 15:58:21 +01:00
Lu, Wenbin 67fa39c9a1 fix: get right page size when malloc uses 0 alignment
Related-To: GSD-7103

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-12-13 15:00:56 +01:00
Mateusz Jablonski 739d181026 refactor: correct naming of enum class constants 6/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-13 14:48:52 +01:00
Dominik Dabek 2146cd07ee refactor: SortedVectorBasedAllocationTracker
Move code out to base class. This will allow to use the sorted vector
class with different values than only SvmData.

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-12-13 12:47:04 +01:00
Mateusz Jablonski 8c90350f3c refactor: correct naming of enum class constants 5/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-13 10:06:02 +01:00
Mateusz Jablonski 432142c574 refactor: correct naming of enum class constants 4/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-13 08:08:51 +01:00
Mateusz Jablonski 01dd503e47 refactor: correct naming of MemoryPool enum values
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-13 07:51:39 +01:00
Mateusz Jablonski 0428c0acd1 refactor: correct naming of HeapIndex enum values
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-12 11:46:17 +01:00
Mateusz Jablonski b182917d9d refactor: correct naming of allocation types
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-11 16:23:37 +01:00
Mateusz Jablonski da957d1a37 refactor: correct naming of enum class constants 1/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-05 14:26:42 +01:00
Mateusz Jablonski 6849d33326 refactor: remove redundant definitions KB/MB/GB
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-05 08:55:18 +01:00
Mateusz Jablonski 9a28317ac4 refactor: rename variables from MemoryBanks namespace
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-04 16:46:46 +01:00
Mateusz Jablonski c9664e6bad refactor: rename global debug manager to debugManager
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-30 13:00:59 +01:00
Mateusz Hoppe 83ac95d293 fix: L0 - remove synchronization with events on appends in tbx mode
Related-To: NEO-9400

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-11-27 10:39:55 +01:00
Lukasz Jobczyk ac8c00048e performance: optimize svm allocation tracking
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-11-23 10:54:01 +01:00
Maciej Plewka 560b588cbe fix: Update residency fence value after ring buffer switch
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-11-17 20:46:14 +01:00
Compute-Runtime-Validation 7f61217a44 Revert "performance: optimize svm allocation tracking"
This reverts commit e91ce78ec8.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-11-16 11:03:19 +01:00
Lukasz Jobczyk e91ce78ec8 performance: optimize svm allocation tracking
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-11-15 13:58:05 +01:00
Dominik Dabek 961a8d91d0 refactor: move gmm constructor flags to struct
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-11-15 09:26:13 +01:00
Lukasz Jobczyk 9a8138725a fix: Deferred SVM allocations look up by gpu address
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-11-14 15:27:01 +01:00
Dominik Dabek 43841fd2ef fix: clear AllocationsList tail on free all
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-11-02 18:06:13 +01:00
Michal Mrozek 80e3632c41 performance: do not free deferred allocations when not needed
Level Zero doesn't use deferred allocations so no point in paying the
price to check for them in cleanAllocationList.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2023-10-27 18:02:43 +02:00
Mateusz Hoppe 5d572b9c8f feature: allow freeing memory in aubstream
Related-To: NEO-2707

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-10-26 17:16:23 +02:00
Compute-Runtime-Validation fca2159430 Revert "fix: if device hierarchy is flat then getSubDevicesCount return 1u"
This reverts commit cb0bb57f49.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-10-26 15:40:29 +02:00
Baj, Tomasz cb0bb57f49 fix: if device hierarchy is flat then getSubDevicesCount return 1u
Related-To: NEO-9167

Signed-off-by: Baj, Tomasz <tomasz.baj@intel.com>
2023-10-25 15:51:52 +02:00
Mateusz Hoppe 97faeae16f feature: heapAssigner per root device
- create heapAssigner per root device in memory manager to allow per
device config

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-10-19 19:52:24 +02:00
Spruit, Neil R 58fa968273 fix: Calculate size of buffer surface state given mapped allocations
Related-To: NEO-8350

- given a virtual address part of a mapping to multiple physical
allocations, then the buffer surface state size is increased to
include the allocations which follow the current allocation, which
allows users access to the remainder of the mapped buffer.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-10-19 13:38:51 +02:00
Spruit, Neil R 456f07212d fix: Return pageSize/Heap for reservation based on the size and devices
Related-To: NEO-9127,NEO-9142

- Change the heap/pageSize used based on the size of the reservation
required and the device heaps available.
- Return the page size required based on the size requested by the user
for virtual reservation and the devices on the system.
- Check the size passed in by the user in memory map and physical memory
allocation is valid for the heap and page size that is required.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-10-19 10:44:13 +02:00
John Falkowski f156a74f54 fix: split chunking prefetch flags
Related-To: NEO-9120

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-10-18 19:20:42 +02:00
Dunajski, Bartosz af7bcbf99c Revert "refactor: split CpuInaccessible MemoryPool types to Device and System"
This reverts commit 2e8cf5fdf5.

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-10-17 10:03:14 +02:00
Mateusz Hoppe 8c6b936dac fix: decanonize address passed to AubManager's freeMemory()
- the same address should be used for writeMemory() and freeMemory()

Related-To: NEO-2707

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-10-16 12:58:21 +02:00
Dunajski, Bartosz 2e8cf5fdf5 refactor: split CpuInaccessible MemoryPool types to Device and System
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-10-16 12:47:13 +02:00
Mateusz Jablonski a420e34b10 fix: explicitly remove assign operators when not needed
when class defines copy/move ctor then corresponding assign operator(s)
should be defined or deleted

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-12 10:25:15 +02:00
Mateusz Hoppe 5558222337 fix: handle completion in OsAgnosticMemoryManager
- add pollForCompletion() for contexts that used allocation prior to
freeGraphicsMemory()

Related-To: NEO-2707

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-10-11 10:24:30 +02:00
Mateusz Hoppe c2d69e5857 feature: allocate SPECIAL_SSH heap in front window from EXTERNAL heap
- SPECIAL_SSH is used for debug surface SurfaceState which must be
located at bindless offset zero
- limit size of external front window

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-10-09 14:54:39 +02:00
Mateusz Hoppe 8b4242eb32 refactor: move setting GpuBaseAddress to mapGpu call
- set base address of heap after mapping allocation to gpu va
- ensures the same heapIndex is used while choosing heap range and
setting base

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-10-09 12:21:23 +02:00
Mateusz Jablonski ece03e6bbf fix: add checks to avoid invalid behavior
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-06 15:45:33 +02:00
Mateusz Jablonski 382fc952f2 refactor: add NonAssignableClass to define classes without assign operator
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-05 15:16:58 +02:00