Commit Graph

858 Commits

Author SHA1 Message Date
Kamil Diedrich
db24428cd3 Add wddm ult for wsl build [3/n]
Related-To: NEO-6066
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-12-08 16:50:02 +01:00
Jaime Arteaga
3bf416212b Disable SET_PAIR by default.
To use, applications need to set EnableSetPair=1 explicitly.

When disabled, implicit scaling allocations require two IPC handles
to be exchanged with other processes using the zexMemGetIpcHandles
APIs.

When enabled, implicit scaling allocations only require one IPC
handle to be exchanged with other process using the zeMemGetIpcHandle
APIs. This is only available when allocation is imported in a different
device than the one in the exporter.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-12-08 01:52:39 +01:00
Slawomir Milczarek
5c1b50bccf Add memory prefetch modes for single and multiple subdevices
Single-subdevice prefetch for cmd list copy-only (with bcs) and acc mode.
Multi-subdevice prefetch (default) for shared allocation with multiple BOs.

Related-To: NEO-6740

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2022-12-07 15:25:32 +01:00
Mateusz Jablonski
e3ede4bb92 Correct naming in memadvise flags
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-12-07 14:49:43 +01:00
Warchulski, Jaroslaw
be647d42d9 Cleanup includes 12
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-12-07 13:14:15 +01:00
Mateusz Jablonski
103f522f18 Create definition of tag allocation layout
we use tag allocation for multiple purposes, therefore we should define
all offsets in one place

Resolves: NEO-7559
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-12-06 16:49:07 +01:00
Warchulski, Jaroslaw
c10aa90815 Cleanup includes 11
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-12-06 12:25:30 +01:00
Warchulski, Jaroslaw
1fa5710dff Cleanup includes 10
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-12-05 12:39:33 +01:00
Kamil Kopryk
785b9eeece Rename CompilerHwInfoConfig -> CompilerProductHelper
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-05 11:25:49 +01:00
Milczarek, Slawomir
f08e552f4d Create multiple-BOs shared allocation in single lmem regions in non-acc mode
Related-To: NEO-6839

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-12-05 11:25:34 +01:00
Lukasz Jobczyk
dbc6ac2743 Set alignment for SVM_CPU properties on xe_hpc and later
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-12-02 12:35:54 +01:00
Milczarek, Slawomir
7d202c7871 Update i915 prelim headers to v2.0-rc16
Related-To: NEO-5838

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-12-02 11:37:16 +01:00
Jaime Arteaga
99655d34f9 Return a unique pointer for multiple calls to openIpcHandle
This to follow specification, which says:

zeMemOpenIpcHandle:

- Multiple calls to this function with the same IPC handle will return
unique pointers.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-12-01 18:42:54 +01:00
Spruit, Neil R
d81b0b14a1 L0 Virtual Memory Reservation support
- Enable support for L0 Virtual Memory reservation on Linux and Windows.
- Excludes support for Linux to allow pStart option

Related-To: LOCI-3397, LOCI-1543

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2022-12-01 00:55:19 +01:00
Jaime Arteaga
4dfdbd612d Fail when handle cannot be obtain for an allocation
If a handle cannot be obtained, like PRIME_HANDLE_TO_FD, then
properly check for the error and propagate it upwards.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-11-30 20:59:02 +01:00
Mateusz Jablonski
f7c11e8a94 Fix typos
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-29 17:12:10 +01:00
Maciej Plewka
4b42b066f8 Use dedicated using type for TaskCount
Related-To: NEO-7155

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-11-28 16:44:44 +01:00
Mateusz Jablonski
27cb39ef25 Refactor: pass root device environment to gmm client context
Related-To: NEO-6853
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-28 13:26:29 +01:00
Michal Mrozek
a104636b31 Improve address alignment logic.
Resolves: NEO-7543

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-11-24 14:51:50 +01:00
Dunajski, Bartosz
f267c34327 Check completion fence for AllocationType::DEFERRED_TASKS_LIST
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-11-23 14:18:35 +01:00
Mateusz Jablonski
bb308c04ed Refactor aubstream include interface
set include path to third_party/aub_stream
rename third_party/aub_stream/headers -> third_party/aub_stream/aubstream

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-23 10:30:13 +01:00
Compute-Runtime-Validation
565d44e59c Revert "Fail when handle cannot be obtain for an allocation"
This reverts commit 4391ad21bb.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-11-23 05:45:01 +01:00
Jaime Arteaga
4391ad21bb Fail when handle cannot be obtain for an allocation
If a handle cannot be obtained, like PRIME_HANDLE_TO_FD, then
properly check for the error and propagate it upwards.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-11-22 19:29:19 +01:00
Warchulski, Jaroslaw
1c03361273 Cleanup includes 6
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-21 12:02:14 +01:00
Warchulski, Jaroslaw
f35f59b573 Cleanup includes 5
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-18 22:46:38 +01:00
Kamil Kopryk
4aee34702e Move HwInfoConfig & HwHelper ownership to RootDeviceEnvironment
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>

Use RootDeviceEnvironment getHelper<ProductHelper> for
- configureHwInfoWddm
- configureHwInfoDrm

Use RootDeviceEnvironment getHelper<CoreHelper> for
- getMaxNumSamplers
- adjustDefaultEngineType
2022-11-17 17:05:25 +01:00
Slawomir Milczarek
ba003dd7dc Prefetch kmd-migrated shared allocation to multiple subdevices
Related-To: NEO-6740

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2022-11-17 15:24:54 +01:00
Mateusz Hoppe
f19abda0e2 Set root device index in OsContext
- correclty choose default engine context accounting for root device
index and  subdevices bitfield

Related-To: NEO-7516

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-11-16 23:02:19 +01:00
Slawomir Milczarek
d942660b20 Set destination vm id in vm prefetch call
Use rsvd in prelim_drm_i915_gem_vm_prefetch to pass vm id to prefetch to

Related-To: NEO-6740

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2022-11-16 11:26:41 +01:00
Szymon Morek
a66e69abc9 Prealloc cmd buffer for CSR only when being used
Related-To: NEO-7361

Currently additional command buffer is
preallocated for all CSRs, even for those which
won't be used by application. This PR changes that

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-11-15 20:06:29 +01:00
Mateusz Jablonski
6648adef15 Handle error in register memory allocation methods
Related-To: NEO-7412
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-15 17:23:55 +01:00
Mateusz Jablonski
a17df8fa86 Return SubmissionStatus from processResidency method
it allows to return non-binary status to API layer

Related-To: NEO-7412
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-15 13:17:43 +01:00
Mateusz Jablonski
bddf1bbe76 Return SubmissionStatus from printBOsForSubmit method
it allows to return non-binary status to API layer

Related-To: NEO-7412
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-15 12:43:21 +01:00
Szymon Morek
3281dea1fe Allow debug allocs to use copyMemoryToAllocation
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-11-14 17:50:32 +01:00
Jaime Arteaga
2c698fb5a1 Add debug key to disable SET_PAIR functionality
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-11-10 22:45:37 +01:00
Michal Mrozek
508ad66313 Align GPU VA to previous power of 2.
Aligning to next power of 2 was excessive.
We really need previous power of 2.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-11-10 16:57:57 +01:00
Jaime A Arteaga Molina
192f02785d Use PRELIM_DRM_I915_QUERY_FABRIC_INFO for canAccessPeer when available
When available, PRELIM_DRM_I915_QUERY_FABRIC_INFO is used to query
connectivity between two devices. If not, then a copy is performed.

Signed-off-by: Jaime A Arteaga Molina <jaime.a.arteaga.molina@intel.com>
2022-11-10 07:30:32 +01:00
Mateusz Hoppe
623f471321 Do not call waitUserFence under lock
Related-To: NEO-7454

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-11-09 15:48:19 +01:00
Lukasz Jobczyk
ff500e0de6 Add support for external hostptr in shared allocations
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-11-09 14:48:01 +01:00
Jaime Arteaga
623c9afdfa Return same fd handle on multiple calls to peekHandle
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-11-09 13:35:52 +01:00
Joshua Santosh Ranjan
6a2e016d7f Add support for UUID
Related-To: LOCI-3304

Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
2022-11-09 12:29:32 +01:00
Szymon Morek
c9fad505d7 Replicate CONSTANT_SURFACE across tiles
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-11-08 20:35:43 +01:00
Michal Mrozek
d9762c0337 Add debug flag to control alignment.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-11-08 19:42:19 +01:00
Dominik Dabek
30fe24aa79 Avoid cmpexchg due to CPU Hardware limitation
Limit the amount of times compare_exchange_weak is called,
to avoid issues with contention when multiple cpu cores request
the same address.

Related-To: NEO-7030

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-11-08 17:11:52 +01:00
Wrobel, Patryk
4c05a54c2b Use correct heap when opening device memory IPC handle
This change extends the logic of opening IPC
memory handles and fills the gap between this
logic and allocation of USM device buffers.

When HEAP_EXTENDED is available, then it is
preferred.

Signed-off-by: Wrobel, Patryk <patryk.wrobel@intel.com>
2022-11-08 12:08:04 +01:00
Warchulski, Jaroslaw
fb25f96081 Cleanup includes 2
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-07 10:36:50 +01:00
Bellekallu Rajkiran
2c71df0957 Fix urecoverable abort upon detach event
Unrecoverable abort will be invoked when drm ioctls fail during
device destruction.

Remove abort for case where i915 is unbinded.

Related-To: LOCI-3139

Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
2022-11-07 08:39:00 +01:00
Warchulski, Jaroslaw
ef95bfb45e Cleanup includes
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-04 18:04:13 +01:00
Mateusz Jablonski
930ca001a1 Add a layer to translate exec buffer error to SubmissionStatus value
handle errors: EWOULDBLOCK, ENOSPC, ENOMEM, ENXIO

Related-To: NEO-7144, NEO-7412
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-04 10:32:54 +01:00
Mateusz Jablonski
8ddc889c1d Store hardware IP version in hardware info
Query HW IP version using ioctl helper prelim

Related-To: NEO-7457
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-03 09:57:08 +01:00