Commit Graph

77 Commits

Author SHA1 Message Date
Lukasz Jobczyk
4bd27e4d3e Store context handle in cmd list
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-09-08 19:32:47 +02:00
Jaime Arteaga
3f5c3a8cdf Fix P2P support for implicit scaling (2)
When creating a remote allocation for P2P access, pass the correct
device handle so all handles are used.

Related-To: LOCI-3122

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-08-29 23:30:04 +02:00
Neil R Spruit
ada9b5d4a9 Handle if L0 Event Memory is Shareable
- Properly check for IPC event handle flag to determine if the event
pool memory is sharable between processes.
- Given Host Visible Event Pool, a check is done to determine if the
Host memory can be shared between the processes.
- Enabled handling if Event Host Memory is shareable for DRM
- If Event Pool Memory is Not shareable, then retrieving the IPC Event
Pool Handle returns unsupported.

Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2022-08-05 00:11:05 +02:00
Aravind Gopalakrishnan
110adb50a9 Modify ZEX_HOST_MEM_ALLOC_FLAG_USE_HOST_PTR for shared allocs
If flag present, re-route to creating host allocs and honor the user pointer

Related-To: NEO-7004

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2022-07-29 07:45:16 +02:00
Lukasz Jobczyk
8eae6c2ba3 Add ZEX_HOST_MEM_ALLOC_FLAG_USE_HOST_PTR flag
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-07-14 13:28:48 +02:00
Jaime Arteaga
235e167565 Correctly return number of IPC handles in zexMemGetIpcHandles
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-07-11 11:12:54 +02:00
Mateusz Hoppe
5956aea18d Limit header includes from level_zero device.h
- remove including debugger_l0.h from device.h
- add getL0Debugger() to shared NEO Device

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-07-06 16:41:17 +02:00
Jaime Arteaga
260838430f Add support for zeVirtualMemQueryPageSize
Related-To: LOCI-1543

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-06-13 17:00:33 +02:00
Mateusz Jablonski
747c2d3d83 Cleanup includes in cmdlist, cmdqueue, context, device, driver and module
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-03 02:54:41 +02:00
Jaime Arteaga
8c6a3639d9 Remove non-needed branch from freeMem
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-06-02 20:06:56 +02:00
Mateusz Jablonski
2a4c68dc38 Remove not needed dependencies from device_imp.h
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-02 18:35:34 +02:00
Jaime Arteaga
1670081df7 Clean up context vector of devices
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-06-02 07:00:14 +02:00
Artur Harasimiuk
e9be9b64c6 clang-tidy configuration cleanup
Define single .clang-tidy configuration with all used checks and use
NOLINT to selectively silence tool. That way cleanup should be easier.
third_part/ has its own configuration that disables clang-tidy for this
folder.

Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-05-11 14:02:04 +02:00
Jaime Arteaga
3f26f45c10 Add support for IPC handles with implicit scaling
When using implicit scaling, device allocations may have
more than one internal allocation created internally. In that case,
a separate dma-buf handle per internal allocation needs to be
exported.

So introduced two driver experimental extensions to export and
import more than one IPC handle:

- zexMemGetIpcHandles
- zexMemOpenIpcHandles

Related-To: LOCI-2919

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-05-09 00:38:17 +02:00
Dominik Dabek
8d1ad5a4f3 Refactor: use stack vector for root device indices
Stack vector will not cause dynamic allocations in most circumstances
ie. number of root device indices not more than 16

Related-To: NEO-6837

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-04-14 14:05:42 +02:00
Jim Snow
0a926c7d12 Add Windows image memory export functionality
Adds zeImageGetAllocPropertiesExt function, implementation code shared
shared with zeMemGetAllocProperties moved into common helper function.

Related-To: LOCI-2665

Signed-off-by: Jim Snow <jim.m.snow@intel.com>
2022-03-26 05:11:35 +01:00
Krzysztof Gibala
f7a5d29085 Introduce debug flag ForceExtendedUSMBufferSize usage for L0
Forces extended buffer size by adding pageSize specify by number when
debug flag is >=1 in L0 USM calls

Usage:
ForceExtendedUSMBufferSize=2
size += (2 * pageSize)

Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-02-08 16:23:40 +01:00
Spruit, Neil R
8986435bd7 Convert FD to NT Handle for Import/Export of Memory
- In WSL the handle for DMA buf is an NT handle.
- To share and import this memory we check if the
handle is an NT handle before attempting to
load as an FD.
- If the handle is and NT handle, then we open the fd
as an NT handle.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2022-02-04 21:01:26 +01:00
Bartosz Dunajski
4b0d986876 Move AllocationType enum out of GraphicsAllocation class
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-02-04 17:49:09 +01:00
Spruit, Neil R
593756bee0 Fail given WDDM Driver and Fd Handle in WSL
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2022-02-02 19:01:35 +01:00
Spruit, Neil R
ae77bd1bd2 Enable Device Memory to be shared in WSL-2 with L0
- Add getMemoryManagerType to check which memory manager has been init
to determine if Linux + WDDM memory manager is in use.
- Add isNTHandle to test and verify if a handle is an NT handle during
L0 Open IPC Handle.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2022-01-27 23:14:29 +01:00
Jaime Arteaga
e3ac89adbe Remove non-needed DEBUG_BREAK_IF
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-01-25 23:39:40 +01:00
Jaime Arteaga
dbf0f90186 Return pageSize in getMemAllocProperties
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-01-25 18:26:13 +01:00
Jaime Arteaga
f182259a97 Return user size on zeMemGetAddressRange
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-01-11 23:12:23 +01:00
Jaime Arteaga
3b497270c8 Add support for memory free policies
Add support for ZE_DRIVER_MEMORY_FREE_POLICY_EXT_FLAG_BLOCKING_FREE
added in v1.3.

Related-To: LOCI-2672

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-12-28 08:27:50 +01:00
Bartosz Dunajski
e040c8c6bb Initial compression support for L0 Device allocations
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-12-16 15:55:13 +01:00
Filip Hazubski
cf4ce308d9 Rename function
Rename multiDeviceCapable to implicitScalingCapable
Rename isMultiDeviceCapable to isImplicitScalingCapable

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-09 11:14:08 +01:00
Zbigniew Zdanowicz
357f650b8b Unify code for check is implicit scaling enabled
Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-11-24 12:41:00 +01:00
Mateusz Jablonski
babdbfb0cf Rename L0 Device method
remove gmock from mock device
add macros to define mock methods with ref return

Related-To: NEO-4914
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-11-16 22:01:14 +01:00
Zbigniew Zdanowicz
df6829f361 Use event pool init code for result of event pool api creation function
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-11-09 16:29:49 +01:00
Lukasz Jobczyk
99972e2a98 Add ZE_HOST_MEM_ALLOC_FLAG_BIAS_UNCACHED implementation
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-10-25 14:39:20 +02:00
Kamil Diedrich
465bec3d76 Add NTHandle sharing
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2021-10-19 14:17:25 +02:00
Jaime Arteaga
e0a093b87a Make IPC events available for P2P operations
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-10-13 17:20:35 +02:00
John Falkowski
92c2c07bff Correct device handle for device/shared alloc
Signed-off-by: John Falkowski <john.falkowski@intel.com>
2021-09-17 23:25:19 +02:00
Jaime Arteaga
522d2550ee Add allocation ID to be retrieved by L0 getMemAllocProperties
zeMemGetAllocProperties() specifies an ID for the allocation can be
retrieved by the application. This can be used by applications to
identify the allocation throughout the application lifetime.

We were currently returning as id the same allocation address. This
patch fixes it to return a true unique identifier for the allocation.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-09-15 19:22:50 +02:00
Bartosz Dunajski
f51d43f121 L0 Context: Use correct Device count getter
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-09-02 09:23:49 +02:00
Kamil Diedrich
4390590831 Add shareable allocation for Windows
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2021-08-26 13:43:55 +02:00
John Falkowski
a6bb897a7c Adjust dev memory available based on impl scaling
Signed-off-by: John Falkowski <john.falkowski@intel.com>
2021-08-19 21:18:32 +02:00
Jaime Arteaga
38e36d00af Skip reset of IPC events
This because they might have been imported after their status
having been already changed by the exporter.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-08-18 22:14:37 +02:00
Kamil Diedrich
2d5d071e66 Extended import device memory functionality
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2021-08-10 13:24:56 +02:00
Szymon Morek
cc2d701e9d Enable AllowUnrestrictedSize debug flag on L0
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-08-06 18:59:08 +02:00
Jaime Arteaga
ec18046f24 Remove peer allocation from device map when freeing original allocation
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-08-04 22:42:50 +02:00
Bartosz Dunajski
3c88492229 Revert "Extended import device memory"
This reverts commit ea6555e788c98314160a11898212c2d664999705.

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-07-16 09:56:52 +02:00
Kamil Diedrich
dd3074f901 Add shareable flag to alloc
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2021-07-14 13:01:48 +02:00
Kamil Diedrich
d5fdb949eb Extended import device memory
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2021-07-07 16:12:36 +02:00
Maciej Dziuban
95dd2828f5 Implement initial placement for shared allocations in L0
The following flags are now respected:
- ZE_DEVICE_MEM_ALLOC_FLAG_BIAS_INITIAL_PLACEMENT
- ZE_HOST_MEM_ALLOC_FLAG_BIAS_INITIAL_PLACEMENT

Related-To: NEO-5059
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-06-30 07:05:20 +02:00
Szymon Morek
8b48b33a0c Remove 4GB limit if shared allocations supported
Resolves: NEO-5984

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-06-24 13:28:59 +02:00
Jaime Arteaga
5e29dccddc Add IPC events support
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-06-08 08:11:15 +02:00
Jaime Arteaga
3a91bcfb9b Limit allocations to available global mem size
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-06-02 21:58:38 +02:00
Compute-Runtime-Validation
dd6653892e Revert "Move SVM allocs memory manager to L0::Context (1/N)"
This reverts commit 9080e2ee5b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2021-05-09 12:37:44 +02:00