Commit Graph

182 Commits

Author SHA1 Message Date
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
Mateusz Jablonski 15e1ef9a3d test: use xe-prelim header in debug drm xe mock
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-04-30 11:22:14 +02:00
Lukasz Jobczyk a75f1434b0 performance: Store vm bind available in drmCsr
Resolves: GSD-10986

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-24 15:45:05 +02:00
Bartosz Dunajski 85f2734ca4 fix: correct gt_id to tile_id engine mapping
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-03-27 15:57:57 +01:00
Maciej Plewka 36fa6d66ae fix: lock csr in stopDirectSubmission if needed
Related-To: NEO-13875, NEO-14143, HSD-16026538384, HSD-16026780358
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2025-03-18 09:30:38 +01:00
Maciej Bielski a7c46b8213 feature: support L2 cache reservation
Related-To: NEO-12837
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2025-03-17 19:41:55 +01:00
Lukasz Jobczyk be946ae56c performance: Optimize make resident for ULLS light
Do not check if ULLS light is active during every Csr::makeResident
call. Store that information once during ULLS init.

Related-To: NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-02-24 12:59:56 +01:00
Lukasz Jobczyk b0e3d8656e refactor: Add OV detection mechanism for ULLS light
Related-To: NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-02-19 13:28:29 +01:00
Lukasz Jobczyk c7c7ae9d49 refactor: Remove redundancy around gemCloseWorker in csr
Related-To: NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-02-13 21:42:28 +01:00
Lukasz Jobczyk a78e3f98d5 performance: Stop ULLS in bo::wait only when light mode active
Resolves: HSD-18041491739

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-02-13 17:01:58 +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
Brandon Yates f7e63ba0d0 feature: Add support for optional PF enable flag for exec queue create
Related-to: NEO-8306

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2025-02-05 19:24:01 +01:00
Bellekallu Rajkiran 3bef9f886a fix: Crash on over memory allocation
- Add defer backing flag to gem create ioctl
- Make memory resident before lock

Related-To: NEO-13403

Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
2025-02-03 14:29:42 +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
Maciej Bielski a8779c2387 fix: report ZE_MEMORY_ACCESS_CAP_FLAG_CONCURRENT correctly
At the moment the capability is returned only based on the value
returned by the `productHelper`, which is too liberal. The capability
must also consider the support reported by `memoryManager`. Only then
the support reported is aligned with actual logic of handling
USM-allocations.

Related-To: NEO-10040
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2025-01-29 00:17:38 +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
Compute-Runtime-Validation 83af0b77ff Revert "fix: Crash on over memory allocation"
This reverts commit 212ccb8bd4.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-01-24 21:35:59 +01:00
Bellekallu Rajkiran 212ccb8bd4 fix: Crash on over memory allocation
- Add defer backing flag to gem create ioctl
- Make memory resident before lock

Related-To: NEO-13403

Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
2025-01-24 14:01:37 +01:00
Jitendra Sharma 8f5a0995e0 fix: Dont directly use gtId as TileId
gtId is not same as tileId. instead use gtIdToTileId
to retrieve tileId based on gtId.

Related-To: NEO-11104
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2025-01-20 10:23:53 +01:00
Mateusz Jablonski 53d255063c fix: create eudebug interface at initialize of ioctl helper
Related-To: NEO-13511
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-12-16 23:45:17 +01:00
Mateusz Jablonski 8f7bacdd95 feature: add eudebug interface class
eudebug interface is now hidden under EuDebugInterface class
shared code uses generic object and param values

layout of structs is guarded by static asserts

eudebug support is guarded by cmake flags:
- NEO_ENABLE_XE_EU_DEBUG_SUPPORT - enables eudebug in general
- NEO_USE_XE_EU_DEBUG_EXP_UPSTREAM - registers exp upstream uAPI support
- NEO_ENABLE_XE_PRELIM_DETECTION - registers prelim uAPI support

This way we can support two different xe-eudebug interfaces within
single binary.

In unit tests there is mock eudebug interface enabled (even if no
eudebug support is enabled by cmake flag).

Related-To: NEO-13472
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-12-13 17:07:12 +01:00
Chandio, Bibrak Qamar ab2e831a4a fix: zeDeviceGetGlobalTimestamp to use submisison
Related-To: GSD-10253, GSD-9467, GSD-9381, NEO-11908

When EnableGlobalTimestampViaSubmission is set then
zeDeviceGetGlobalTimestamp uses immediate cmd submission
method to get GPU time.

Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
2024-12-04 19:10:07 +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
Slawomir Milczarek a331ffcb55 feature: Add ioctl helper functions to mmap/unmap and acquire/releaseGpuRange
Related-To: NEO-11817

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2024-11-08 15:22:44 +01:00
Marcel Skierkowski 49d999abe6 fix: remove defaultProfilingTimerResolution from RuntimeCapabilityTable
Related-To: NEO-12275
Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
2024-11-04 12:02:11 +01:00
Alicja Lukaszewicz 654fdc1345 feature: add query for additional device properties
Related-To: NEO-12590

Signed-off-by: Alicja Lukaszewicz <alicja.lukaszewicz@intel.com>
2024-10-29 20:40:27 +01:00
Oskar Hubert Weber 6730011c3b test: don't load igsc in unit tests
Fixes test timeouts caused by previous changes to dlopen mock

Signed-off-by: Oskar Hubert Weber <oskar.hubert.weber@intel.com>
2024-10-18 12:20:49 +02:00
Bartosz Dunajski f430279d62 fix: change doorbell type
Related-To: NEO-12870

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-10-14 14:58:11 +02:00
Oskar Hubert Weber 8527779778 fix: running Blender with SYSMAN enabled on Linux
Related-To: NEO-11618

Signed-off-by: Oskar Hubert Weber <oskar.hubert.weber@intel.com>
2024-10-14 12:36:08 +02:00
Dominik Dabek ac8dcdb298 fix: do not unregister shared allocation
Allocations imported from shared handle are not using registerAlloc in drm
manager but on free, unregister was called.

This could lead to problems with allocation size tracking.

This change will skip the unregisterAllocation call if allocation is
imported from shared handle.

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-10-02 16:32:24 +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
Jitendra Sharma 25f2504bf5 fix: set eudebug extension property when debugging enabled
In order to debug on XE, XE_EXEC_QUEUE_SET_PROPERTY_EUDEBUG
needs to be set up.

Related-To: NEO-12691
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-09-18 08:32:03 +02:00
Kamil Kopryk 49a2050312 test: correct drm ults if heapless is enabled
Related-To: NEO-10641

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-09-10 18:12:29 +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
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
Bartosz Dunajski aeb5e0d5ad fix: pass vm_id to createMediaContext
Related-To: NEO-9777

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-08-23 12:53:39 +02:00
Szymon Morek b8f181d50e performance: remove trim candidate list
Related-To: NEO-11755

Removing trim candidate list reduces overhead
caused by residency handling. Allocations required
for eviction are placed in eviction container managed
by CSR.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-08-23 12:21:50 +02:00
Naklicki, Mateusz 1317aa539b fix: unblock xekmd recoverable pagefaults vmbind
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2024-08-14 10:46:45 +02:00
Compute-Runtime-Validation a860adc457 Revert "fix: unblock xekmd recoverable pagefaults vmbind"
This reverts commit cc3e6d5055.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-08-09 14:17:41 +02:00
Naklicki, Mateusz cc3e6d5055 fix: unblock xekmd recoverable pagefaults vmbind
Related-To: HSD-13011898606
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2024-08-09 09:10:27 +02:00
Bartosz Dunajski bca8478bd4 feature: use iotclhelper to get num media engines
Related-To: NEO-9777

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-08-08 09:36:28 +02:00
Mateusz Jablonski 8edc40adbc fix: populate SliceInfo based on TopologyMap in drm path
pick minimal config in case of multi tile

Related-To: NEO-12073
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-31 15:55:21 +02:00
Mateusz Jablonski 71f4088a1e fix: correct hw info setting in drm path
add fallback to get max eu per ss from topology if not available in other way

Related-To: NEO-12073
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-26 17:23:56 +02:00
Mateusz Jablonski 64873a5dd2 test: remove dependency of i915 from mock ioctl helper
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-24 13:21:48 +02:00
Compute-Runtime-Validation ae68df3832 Revert "fix: unblock xekmd recoverable pagefaults vmbind"
This reverts commit 8f4472a26c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-07-23 16:48:15 +02:00
Naklicki, Mateusz 8f4472a26c fix: unblock xekmd recoverable pagefaults vmbind
Related-To: HSD-13011898606
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2024-07-23 12:00:25 +02:00
Brandon Yates 4513e42ddb build: Update to latest eudebug xe uapi
Remove implementation of some unused and removed
uapis

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-07-22 10:01:44 +02:00
Brandon Yates 3c51cea04a test: Add test for xe debug user fence wait
Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-07-17 07:40:35 +02:00
Maciej Bielski 005b273b1e test: stop abusing ctors in DrmMockCustom and derived types
Calling virtual functions from within constructors is incorrect, the
virtualization mechanism does not work until a constructor completes.
So, instead of performing many operations in constructors, make them
small and use static `create()` methods to construct the object properly
and only then perform additional setup.

Mocks are a prominent example how such practice degrades the code.
A function called from a constructor is basically unmockable. Despite
being overriden by derived type (to alter the execution path as per
needs of a given test-case) the parent versions are always called.

This was making test development more and more painful as at some point
there is no hack to compensate for the lack of standard mechanism.

Related-To: NEO-9754
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-07-10 08:34:09 +02:00
Mateusz Hoppe c660784df2 fix: fallback path while creating drm context
- if create VM ioctl fails, fallback to query VM from created context
- in fallback path context's VM will not have flags applied

Related-To: NEO-7813

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-07-09 14:10:51 +02:00