In the current implementation, for some data the result is incorrect.
For example for:
size=131073 (64 kB * 2 + 1),
pageSize=65536 (64 kB),
the result should be 196608 (64 kB * 3) instead of 131073.
Related-To: GSD-8948
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
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>
use zelLoaderTranslateHandle for translating handle to internal handle
get pointer to zelSetDriverTeardown during global ctor
don't load loader library by name
get loader function pointers directly from current process
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
Re-use the implementation of ZE_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMPORT_FD.
With this PR and https://github.com/oneapi-src/unified-runtime/pull/1696,
Three sub-tests in SYCL bindless image vulkan_interop/sampled_images.cpp
are passing on DG2 linux.
Also enable OPAQUE_FD for EXTERNAL_MEMORY_EXPORT_DESC.
Related-To: GSD-7102
Signed-off-by: Wenju He <wenju.he@intel.com>
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>
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>
If the input count is zero or is greater than the number of sub-allocations,
the driver shall update the value with the total number of sub-allocations.
If count is less than the number of sub-allocations available, then driver
shall only retrieve properties for that number of sub-allocations.
Related-To: NEO-9812
Signed-off-by: Wenbin Lu <wenbin.lu@intel.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>