Commit Graph

257 Commits

Author SHA1 Message Date
Vysochyn, Illia
b87f25753e fix: Query peer access on root devices
Enables P2P query on BMG device creation.

Ensures the potential peer device is queried if
crossAccessEnabledDevices is not set.

Related-To: NEO-15427

Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
2025-09-16 13:05:59 +02:00
Neil R. Spruit
c33fb25143 feature: Added L0 Mem Free Callback Registration
Related-To: NEO-15719

Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
2025-09-16 10:52:28 +02:00
Fabian Zwoliński
8cf8fe4f5a fix: use const auto& to avoid unnecessary copies
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-09-15 17:48:57 +02:00
Compute-Runtime-Validation
d6a713c0e6 Revert "fix: disable shareable memory by default on Integrated gpu windows"
This reverts commit 84c7c6612b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-09-11 05:26:18 +02:00
Neil R. Spruit
84c7c6612b fix: disable shareable memory by default on Integrated gpu windows
Related-to: NEO-15981

- Disable the ability to create shareable memory
without NT handle on Windows for Integrated GPU devices by default.
- Addresses a performance regression in Windows
when making shareable memory resident on Integrated GPU devices.

Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
2025-09-10 12:15:56 +02:00
Mateusz Jablonski
1e7c9ee2e9 refactor: rename default descriptor names
move them out of L0 API version check

Related-To: NEO-14560
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-09-05 13:25:48 +02:00
Mateusz Hoppe
c96348d1f3 feature: add support for external memmap system extension
Related-To: GSD-11423

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-09-02 13:52:42 +02:00
Vysochyn, Illia
130c733f60 feature: Disable allocation compression for P2P
Disables the allocation compression under the following conditions:
* when on device supporting compression AND
* when multiple root devices supporting compression AND
* when p2p connection between those devices THEN
* disable compression for resources that can be IPC -> device USM

Related-To: NEO-15427

Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
2025-09-01 08:58:30 +02:00
Neil R. Spruit
43ebc17e17 feature: Support for opaque IPC handles on Windows and Linux
- Added support for creating and managing opaque IPC NT handles in the
WDDM layer.
- Introduced a new flag `shareableWithoutNTHandle` to indicate if memory
can be shared without an NT handle.
- Updated the `isShareableMemory` method to accommodate this new flag.
- Added debug variable EnableShareableWithoutNTHandle to control the
behavior of sharing memory without NT handles until requested.
- Updated Linux path to enable sharing DMA Buf FDs between processes
for use in pidfd_getfd
- Updated getfd and get IPC Handle helper functions to support opaque or
previous versions

Related-To: NEO-15345 , NEO-15346 , NEO-15347, NEO-10380

Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
2025-08-18 16:23:44 +02:00
Compute-Runtime-Validation
0855219087 Revert "feature: Support for opaque IPC handles on Windows and Linux"
This reverts commit 46b1b2783b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-08-15 02:22:02 +02:00
Neil R. Spruit
46b1b2783b feature: Support for opaque IPC handles on Windows and Linux
- Added support for creating and managing opaque IPC NT handles in the
WDDM layer.
- Introduced a new flag `shareableWithoutNTHandle` to indicate if memory
can be shared without an NT handle.
- Updated the `isShareableMemory` method to accommodate this new flag.
- Added debug variable EnableShareableWithoutNTHandle to control the
behavior of sharing memory without NT handles until requested.
- Updated Linux path to enable sharing DMA Buf FDs between processes
for use in pidfd_getfd

Related-To: NEO-15345 , NEO-15346 , NEO-15347, NEO-10380

Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
2025-08-14 08:33:56 +02:00
Chandio, Bibrak Qamar
6acfcb83b9 Revert "Two commits related to pStart feature"
Related-To: NEO-15156, GSD-9939

Revert "test: fix minor errors"

This reverts commit 712dc8221e.

Revert "feature: Support for pStart"

This reverts commit 47caeda487.

Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
2025-08-13 07:10:40 +02:00
Chandio, Bibrak Qamar
47caeda487 feature: Support for pStart
Related-To: NEO-15156, GSD-9939

Support for start address hint in zeVirtualMemReserve.

If it fails to find pStart then it defaults to the base line
allocateWithCustomAlignment(...)

Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
2025-08-06 12:40:29 +02:00
Compute-Runtime-Validation
c9456cda14 Revert "feature: Support for pStart"
This reverts commit a50c0dbecf.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-08-06 02:26:13 +02:00
Chandio, Bibrak Qamar
a50c0dbecf feature: Support for pStart
Related-To: NEO-15156, GSD-9939

Support for start address hint in zeVirtualMemReserve.

If it fails to find pStart then it defaults to the base line
allocateWithCustomAlignment(...)

Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
2025-08-05 10:14:01 +02:00
Chandio, Bibrak Qamar
aeb85c202c fix: Add more return types to parseUSMType
Related-To: NEO-15604, GSD-11403

Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
2025-07-24 21:56:21 +02:00
Eric Mortensen
69f2cda2fa fix: add error checks & return to unMapVirtualMem
Related-To: NEO-8566

Signed-off-by: Eric Mortensen <eric.mortensen@intel.com>
2025-07-17 23:53:19 +02:00
Neil R. Spruit
2f6e4d36da fix: Correct all L0 handle definitions to properly handle the DDI ext
Related-To: NEO-15570

- Fixes for missing handle definitions for DDi Ext compliance and
incorrect definitions for several handle definitions requiring handle
translation.

Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
2025-07-17 19:13:51 +02:00
Mateusz Jablonski
645de5add8 fix: correct shared cross device alloc capabilities
allow for access in case of multiple exposed devices when
there is only one root device

Related-To: HSD-18042639532
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-07-11 18:32:06 +02:00
Aravind Gopalakrishnan
c1c8eb59c0 refactor: Cache context settings during init
- cache context related settings once to reuse in subsequent calls

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2025-07-10 12:06:20 +02:00
Mateusz Jablonski
2661fd9522 feature: define default descriptors for counter based event and USM
user can use default descriptor to simplify creation

Related-To: NEO-14560
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-07-08 16:10:23 +02:00
Mateusz Jablonski
a345fa0783 fix: remove not needed printf from production code
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-07-08 12:01:52 +02:00
Aravind Gopalakrishnan
39b28474ae feature: Add new struct for IPC opacity
Related-To: NEO-15185

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2025-06-24 22:57:22 +02:00
Chandio, Bibrak Qamar
c1867ed981 feature: atomic attributes for shared system alloc
Related-To: NEO-13715, NEO-14862

Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
2025-06-23 20:14:47 +02:00
Aravind Gopalakrishnan
aaa01c06f9 refactor: Introduce template type for Ipc data type
Related-To: NEO-15185

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2025-06-19 03:07:45 +02:00
Aravind Gopalakrishnan
e1b33a657c refactor: Use handle member in IpcHandleTracking
Related-To: NEO-15185

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2025-06-17 08:56:04 +02:00
Compute-Runtime-Validation
efb03340fb Revert "refactor: Use handle member in IpcHandleTracking"
This reverts commit 253764f440.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-06-17 02:06:56 +02:00
Aravind Gopalakrishnan
253764f440 refactor: Use handle member in IpcHandleTracking
Related-To: NEO-15185

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2025-06-16 13:17:38 +02:00
Raiyan Latif
b6c2c59d8f feature: Add product helper for PidFdOrSocketForIPC
Related-To: NEO-15183

Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2025-06-12 02:02:14 +02:00
Dominik Dabek
ad4d7a2ce8 fix: l0 usm pooling, ipc handling
Move getting usm pool for ptr to its own method.
Move trying to free via pooling to its own method.

Use base ptr of pool for tracking in IPCHandleMap.
Track ipc handle refcount in freeMem.
Return error when trying to use a not allocated ptr within pool.

Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-05-29 16:07:19 +02:00
Maciej Bielski
0f8ee57f98 feature: add NEO_LOCAL_MEMORY_ALLOCATION_MODE
Allow the application to force storageInfo.localOnly and get the
out-of-memory returned if not possible.

This is a windows-only feature supported on discrete platforms.

Related-To: NEO-13428
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2025-05-20 14:15:17 +02:00
Compute-Runtime-Validation
0a096f1d50 Revert "fix: propagate error createInternalHandle wddm"
This reverts commit eeddd779f0.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-05-16 02:41:16 +02:00
Dominik Dabek
eeddd779f0 fix: propagate error createInternalHandle wddm
Unify with linux implementation, return -1 on error and 0 on success.

Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-05-15 15:52:37 +02:00
Dominik Dabek
501aebfc45 fix: getMemAddressRange for pooled usm
Use pool methods for getting base ptr and size if passed ptr is in a usm
pool.

Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-05-08 23:28:26 +02:00
Mateusz Jablonski
0d03164625 feature: allow creating host/device/shared USM without specifying descriptor
default setting would point to:
- ordinal 0
- cacheable resource
- host-side initial placement for shared USM

Related-To: NEO-14560
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-04-30 10:23:23 +02:00
Chandio, Bibrak Qamar
58d8c907cd feature: blocking makeResident for mapVirtualMem
Related-To: NEO-14547

Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
2025-04-29 01:56:12 +02:00
Dominik Dabek
75e313ce28 feature: prepare for l0 usm device pooling
Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-04-28 14:55:03 +02:00
Aravind Gopalakrishnan
b4f95a1a26 feature: Add pidfd option for IPC handle import
Related-To: NEO-10380

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2025-04-18 13:01:27 +02:00
Chodor, Jaroslaw
a336d5d772 refactor: remove expicitly deleted copy c-tor in ContextImp
Rely on NEO::NonCopyableAndNonMovableClass instead

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-04-15 22:48:39 +02:00
Aravind Gopalakrishnan
f95644fbd7 fix: Fix usage of root device when opening IPC handle
- Use root device if device is implicit scaling capable

Related-To: NEO-13433

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2025-04-08 00:01:28 +02:00
Chandio, Bibrak Qamar
424b23eb24 fix: blocking zeContextMakeImageResident
Related-To: NEO-11977, GSD-10293

Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
2025-04-04 11:19:17 +02:00
Aravind Gopalakrishnan
3a7d7e022c fix: Add platform support for reservation on svm heap
Related-To: GSD-10816

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2025-04-02 02:46:30 +02:00
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