Commit Graph

585 Commits

Author SHA1 Message Date
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