Commit Graph

181 Commits

Author SHA1 Message Date
Mateusz Hoppe
3051c5ef2b feature: bindless image extension
- support for zeMemGetPitchFor2dImage() and
zeImageGetDeviceOffsetExp()

Related-To: NEO-10352

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-02-14 21:11:31 +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
Lu, Wenbin
0db5b630c9 fix: do not force root device when opening IPC handles
Related-To: NEO-9422

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2024-01-12 09:38:57 +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
Dominik Dabek
239831f097 fix: return error for 0 size usm allocations
according to both level zero and opencl specs, usm allocations with
size=0 should return invalid/unsupported buffer size errors

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-12-22 17:26:39 +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
Maciej Bielski
cb448c6c35 fix: add missing registerIpcExportedAllocation
Unify `getIpcMemHandle()` and `getIpcMemHandles()` and fix the issue of
missing IPC handles registration while reducing copy-pasted code.

Also replace `boHandle` with `boHandleWrapper` to leverage `refCount`
properly and avoid double-free.

Related-To: NEO-8904
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-12-19 15:09:21 +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
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
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
Young Jin Yoon
3782b4bd0e feature: add functions to get/set VA space
Added an extension version of zeContextGetVirtualAddressSpaceIpcHandle
and zeContextPutVirtualAddressSpaceIpcHandle, which return
ZE_RESULT_ERROR_UNSUPPORTED_FEATURE for now.

Related-To: NEO-8259

Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2023-11-06 20:08:45 +01:00
Spruit, Neil R
81fe42aaf5 fix: Avoid globalmemSize calc if physical Mem Size is greater than zero
Related-to: NEO-9050

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-11-03 16:50:15 +01:00
Compute-Runtime-Validation
bcc5a8502b Revert "feature: add functions to get/set VA space"
This reverts commit 0550c80d4f.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-11-03 02:06:36 +01:00
Young Jin Yoon
0550c80d4f feature: add functions to get/set VA space
Added an extension version of zeContextGetVirtualAddressSpaceIpcHandle
and zeContextPutVirtualAddressSpaceIpcHandle, which return
ZE_RESULT_ERROR_UNSUPPORTED_FEATURE for now.

Related-To: NEO-8259

Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2023-11-02 18:42:27 +01:00
Spruit, Neil R
faaceaaff8 fix: Check Unaligned before rounding size expected from reserve
Related-To: NEO-9127

- Fix the calc to check unaligned before rounding the expected size from
reserve memory.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-10-19 18:23:13 +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
Spruit, Neil R
c8674c16c6 feature: Track IPC Handles in DriverHandle vs Context
Related-To: NEO-9116

- To allow for IPC handles to be shared between contexts, the ipc handle
tracking is now moved to the driver handle to be tracked globally.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-10-11 19:17:47 +02:00
Mateusz Jablonski
895a586083 refactor: use reference in for-range loops
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-03 18:56:53 +02:00
Spruit, Neil R
5a22477b83 fix: Update Relaxed Memory Size to check physical before global mem size
Related-To: NEO-9012

- Allows for the memory size requested by the user to be within the
physical memory size if that is set, otherwise the limit is the global
memory size.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-10-02 16:02:35 +02:00
John Falkowski
56f05303c9 feature: add support for zeMemGet/SetAtomicAccessAttributeExp
Resolves: NEO-8219

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-10-02 15:59:17 +02:00
Mateusz Jablonski
64fd270d56 refactor: pass reference to pointer as arg to findAllocationDataForRange
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-27 12:20:23 +02:00
Spruit, Neil R
51670abc29 feature: Add Support for Making Memory Resident on P2P capable devices
Related-To: LOCI-4583

- Provide support for allowing a user to make memory resident on a peer
to peer connected device.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-08-07 19:38:26 +02:00
Luzynski, Sebastian Jozef
c141fbaf74 fix: Adjust zeVirtualMem functions to store size provided by user
Related-To: LOCI-3397

Signed-off-by: Luzynski, Sebastian Jozef <sebastian.jozef.luzynski@intel.com>
2023-07-13 14:17:21 +02:00
Mateusz Jablonski
1be48965ef fix: parse all extensions passed to zeMemAllocShared
reuse common pNext parser

allow to create raytracing allocation with relaxed size

Related-To: NEO-8075
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-20 14:32:16 +02:00
Neil R Spruit
ba6d447b4d feature: Support for using Reserved address with multiple mappings
Related-To: LOCI-4381

- Enabled support for customers to use full Virtual reservation range
with multiple physical mappings with additional allocations implicitly
included in residency.
- Buffer Surface state size extended for first allocation to stretch to
the bufferSize requested.

Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2023-06-07 03:12:29 +02:00
Spruit, Neil R
b589e32c4b fix: Force Close of IPC handles at memFree
Related-To: LOCI-4455

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-05-26 17:09:47 +02:00
Compute-Runtime-Validation
59c8e8f019 Revert "fix: Force Close of IPC handles at memFree"
This reverts commit e1c3cb5ecd.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-05-25 10:15:00 +02:00
Spruit, Neil R
e1c3cb5ecd fix: Force Close of IPC handles at memFree
Related-To: LOCI-4455

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-05-24 21:12:10 +02:00
Neil R Spruit
ded9d7bff2 feature: Get Peer Allocation with specified base Pointer
Related-To: LOCI-4176

- Given a Base Pointer passed into Get Peer Allocation, then the base
pointer is used in the map of the new allocation to the virtual memory.
- Enables users to use the same pointer for all devices in Peer To Peer.
- Currently unsupported on reserved memory due to mapped and exec
resiedency of Virtual addresses.

Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2023-05-24 20:41:20 +02:00
Raiyan Latif
609265a0af fix: Free Peer Allocations in Virtual Memory Path
Related-To: LOCI-4359

Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2023-05-03 01:15:18 +02:00
Lu, Wenbin
5d653c8536 fix: Add alignment support to createUnifiedMemoryAllocation
Allows the user to use alignments > 64KB in `createUnifiedMemoryAllocation`

So that the restriction in `piextUSMDeviceAlloc` of the DPC++ runtime
could be lifted

Related-To: LOCI-4168

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-05-02 09:19:23 +02:00
Neil R Spruit
7014ddefc2 fix: Set IPC type in ipcData explicitly
Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2023-05-01 19:34:17 +02:00
Spruit, Neil R
364c2da9fb feature: Add Support for zeMemPutIpcHandle & zeMemGet IPC Handle converters
Related-To: LOCI-4172, LOCI-4305, LOCI-4306

- Create a new IPC Memory handle upon call to getIpcMemHandle if the
previous handle has been freed.
- Release the Ipc Memory Handle when zeMemPutIpcHandle is called.
- Create a new IPC Handle for tracking thru zeMemGetAllocProperties
when ze_external_memory_export_fd_t is used.
- Convert FD to opaque IPC handle and IPC Handle to FD.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-04-27 03:53:52 +02:00
John Falkowski
e056082710 refactor graphics allocation structure elements for sub-allocation properties
Resolves:  LOCI-3772

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-04-07 16:53:23 +02:00
Compute-Runtime-Validation
2b93126795 Revert "Add alignment support to createUnifiedMemoryAllocation"
This reverts commit ca02bbba4b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-03-30 15:43:47 +02:00
Compute-Runtime-Validation
322c89cd1e Revert "Traverse pNext chain for memory allocations extensions"
This reverts commit e81fb20505.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-03-28 13:02:45 +02:00
Lu, Wenbin
ca02bbba4b Add alignment support to createUnifiedMemoryAllocation
Allows the user to use alignments > 64KB in `createUnifiedMemoryAllocation`

So that the restriction in `piextUSMDeviceAlloc` of the DPC++ runtime
could be lifted

Related-To: LOCI-4168

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-03-28 10:57:04 +02:00
Raiyan Latif
e81fb20505 Traverse pNext chain for memory allocations extensions
Related-To: LOCI-4036

Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2023-03-24 07:43:15 +01:00
John Falkowski
a1e2eca9e8 Add zeMemGetAllocProperties extension for sub-allocations
Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-03-17 21:21:44 +01:00
Mateusz Jablonski
0da5e6f277 refactor l0: cleanup cmake file level_zero/core/source/CMakeLists.txt
Related-To: NEO-7507
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-16 12:38:15 +01:00
Spruit, Neil R
86e739e9dc feature: Relaxed Virtual Memory reservation with pStart
Related-To: LOCI-3871

- Relaxed the Virtual Memory Reservation to allow pStart and not fail if
the pStart value is not obtained.
- Moves checks on pStart to the user to check and determine if they want
to re-reserve or use the address allocated.
- Changed reserveGpuAddress to use unit64_t type to allow internal
address range structure assignment without cast.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-03-08 08:06:50 +01:00
Mateusz Jablonski
8194543ae5 refactor raytracing: unify RT programming logic
reuse EncodeEnableRayTracing in CommandStreamReceiver
add method to determine need for 48b resource flag for RT allocations
Related-To: NEO-7606

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-07 11:51:58 +01:00
Zbigniew Zdanowicz
49def723b7 Unify layout of command list class
Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-07 11:38:47 +01:00
Compute-Runtime-Validation
29cbdc2430 Revert "Traverse pNext chain for all memory allocations extensions"
This reverts commit bd8b85c354.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-02-19 10:10:24 +01:00
Raiyan Latif
bd8b85c354 Traverse pNext chain for all memory allocations extensions
Related-To: LOCI-4036
Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2023-02-17 18:07:39 +01:00
Neil Spruit
2aaebddb37 Revert "Heap allocation allow base address and growable addresses"
This reverts commit 44ec497b1a.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-02-15 18:34:40 +01:00
Spruit, Neil R
44ec497b1a feature: Allow for Allocating a base address in the heap and grow an allocation
Related-To: LOCI-3871

- Enabled allocation of specified base address in the targeted heap.
- Enabled virtual memory reservations to grow by allocating at the start
of the heap vs the end of the heap.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-02-15 08:13:38 +01:00
Jaime Arteaga
dcea913fbc feature: Add support for host IPC allocations
Add support for importing and exporting host allocations.

Related-To: LOCI-3771

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2023-02-14 00:50:44 +01:00