Commit Graph

215 Commits

Author SHA1 Message Date
Mateusz Jablonski
2394f9fd91 feature: update base layout of L0 handles to match ze_handle_t layout
this layout is required by L0 DDI Handle extension

Related-To: NEO-13121, NEO-13917
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-03-28 14:40:20 +01:00
Chodor, Jaroslaw
4e9e995dca refactor: Prevent copy/move on ContextImp
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-03-24 17:24:23 +01:00
Chodor, Jaroslaw
bd721b225e refactor: Adding support for extending L0 context object
Related-To: NEO-13406

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-03-21 07:59:34 +01:00
Compute-Runtime-Validation
9785e5c11e Revert "feature: update base layout of L0 handles to match ze_handle_t layout"
This reverts commit 276c606329.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-02-26 02:37:14 +01:00
Mateusz Jablonski
276c606329 feature: update base layout of L0 handles to match ze_handle_t layout
this layout is required by L0 DDI Handle extension

Related-To: NEO-13121, NEO-13917
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-02-25 01:23:43 +01:00
Chandio, Bibrak Qamar
7149743162 fix: Set vmbind user fence when makeMemoryResident
Related-To: NEO-11977, GSD-10293

Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
2025-02-10 14:20:09 +01:00
Compute-Runtime-Validation
d23249b061 Revert "fix: Set vmbind user fence when makeMemoryResident"
This reverts commit 80dc4fb43a.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-01-31 11:36:29 +01:00
Chandio, Bibrak Qamar
80dc4fb43a fix: Set vmbind user fence when makeMemoryResident
Related-To: NEO-11977, GSD-10293

Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
2025-01-28 22:04:37 +01:00
Bartosz Dunajski
db3f268a97 refactor: reorganize l0 api include directories [2/n]
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-12-20 17:16:53 +01:00
Wenbin Lu
2ba80ce114 feature: support physical host memory
Related-To: NEO-11981

Signed-off-by: Wenbin Lu <wenbin.lu@intel.com>
2024-11-20 08:19:52 +01:00
Bartosz Dunajski
7bf22ed33e feature: counter based allocation peer sharing
Related-To: NEO-13079

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-11-13 15:01:32 +01:00
Bartosz Dunajski
fe76aac489 feature: link counter based event IPC APIs with existing implementation
Related-To: NEO-11925

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-11-07 12:43:27 +01:00
Wenbin Lu
a8a40d2afd feature: support SVM heap in reserveVirtualMem
Related-To: NEO-11981

Signed-off-by: Wenbin Lu <wenbin.lu@intel.com>
2024-10-22 16:47:14 +02:00
Jaroslaw Warchulski
56c5c78961 fix: correct page alignment calculation in getPageAlignedSizeRequired
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>
2024-10-16 10:15:00 +02:00
Compute-Runtime-Validation
41df1a6f47 Revert "feature: support SVM heap in reserveVirtualMem"
This reverts commit bfaeeb01d6.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-10-03 14:53:50 +02:00
Maciej Plewka
80f75ceace fix: submit dummy exec to pin memory during zeContextMakeMemoryResident call
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-09-23 14:43:59 +02:00
Dominik Dabek
731cebd721 fix: trim device usm pools when alloc fails
When normal allocation fails trim pools before deferred frees.

Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-09-17 10:30:18 +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
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
Mateusz Jablonski
14fd9f3f24 fix: correct using L0 loader functions
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>
2024-09-04 17:30:25 +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
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
d45c16dfc2 fix: add fallback for invalid handles in extension functions
handle context, commandlist, driver, device, event, image and kernel handles

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-08-28 17:22:35 +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
Wenju He
c8e1ba9683 feature: support ZE_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_FD in level-zero runtime
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>
2024-06-26 23:34:15 +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
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
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
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
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
Zbigniew Zdanowicz
7d2bed17d9 refactor: change driver and context file names to unique
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-02-29 16:20:10 +01:00
Wenbin Lu
18d263b21c fix: handle smaller-than-actual count of sub-allocations correctly
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>
2024-02-29 10:40:50 +01:00
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