Commit Graph

1614 Commits

Author SHA1 Message Date
Maciej Bielski 6924a48ca6 refactor: prepare CLOS logic for extension
Prepare cache setup and reservation logic to be extended w.r.t other
cache-levels.

Conceptually this change is like adding a switch-statement, in several
places, in which existing code makes a single (and only) case. This is
caused by splitting larger development to ease the review. Further cases
will be added in following steps. Such approach sometimes creates code
which may seem redundant but it is meant to simplify plugging following
extensions in an easy way.

Related-To: NEO-12837
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2025-02-17 10:43:08 +01:00
Lukasz Jobczyk 14b89591e6 performance: Disable gem close worker for ULLS light
Related-To: NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-02-14 19:03:28 +01:00
Brandon Yates 4da8a3694c feature: Enable page faults for xe driver with debugger on
Related-to: NEO-10134

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2025-02-14 19:01:55 +01:00
Lukasz Jobczyk 7cb7229c1c performance: Disable force pin for ULLS light
Related-To: NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-02-14 15:31:50 +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 9085f6aeca fix: drain gem close worker on csr destroy
Resolves: HSD-18041493278

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-02-13 20:34:13 +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
Compute-Runtime-Validation 1533f07912 Revert "feature: Enable page faults for xe driver with debugger on"
This reverts commit 62b30fa72c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-02-13 16:37:51 +01:00
Lukasz Jobczyk bc2b49b958 feature: Introduce ULLS light
Add core implementation of ULLS without VM_BIND interface aka ULLS
light.

Related-To: NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-02-12 17:52:02 +01:00
Brandon Yates 62b30fa72c feature: Enable page faults for xe driver with debugger on
Related-to: NEO-10134

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2025-02-10 22:25:19 +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
Slawomir Milczarek cdc3b477c9 build: Add missing header to system calls wrapper
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2025-02-10 11:42:40 +01:00
Slawomir Milczarek 354064a539 refactor: Extend wrapper for system calls with mkfifo command
Related-To: NEO-12952

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2025-02-07 18:49:36 +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
Szymon Morek b11322332c performance: enable staging write for cl buffers
Related-To: NEO-13529

Also, add size threshold on iGPU on Linux,
and disable staging if imported host ptr could
be reused

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-02-05 09:41:17 +01:00
Maciej Bielski 971b7c27a2 fix: enable usm compression on linux
Related-To: NEO-12056
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2025-02-04 13:09:04 +01:00
Slawomir Milczarek 733855e9d9 refactor: Add const suffix
Related-To: NEO-12952

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2025-02-04 12:35:21 +01:00
Mateusz Hoppe 6e35d055f2 feature: make contextGroupSize dependent on number of processes
Related-To: NEO-12952

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-02-03 18:13:33 +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
shubham kumar f2b48b97d2 refactor: Prework to get sampling unit through ioctl query on xe
Related-To: NEO-13777

Signed-off-by: shubham kumar <shubham.kumar@intel.com>
2025-02-03 10:37:46 +01:00
Compute-Runtime-Validation 99d4e6d054 Revert "performance: don't wait immediately after VmBind"
This reverts commit 09118d2011.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-02-02 18:00:28 +01:00
Fabian Zwoliński 7e9c358a73 fix: apply 2MB alignment to large local memory image allocations
In this patch, we align up the allocation size to 2MB for all
image allocations >= 2MB located in local memory.
2MB alignment support is defined by function:
`is2MBLocalMemAlignmentEnabled`

Related-To: NEO-12287

Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-01-31 14:58:24 +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
Brandon Yates 635f69e54a fix: Configure scratch pages for debugger
DG2 requires scratch pages on for debugger. Other platforms do not.

Related-to: NEO-13883

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2025-01-31 06:49:49 +01:00
Brandon Yates 106e8be9a9 fix: Don't abort application due to gpu fault when debugging is enabled
Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2025-01-30 23:37:50 +01:00
Fabian Zwoliński 7918b44a94 fix: apply 2MB alignment to large local memory allocations
In this patch, we align up the allocation size to 2MB for all
allocations >= 2MB located in local memory.
2MB alignment support is defined by function:
`is2MBLocalMemAlignmentEnabled`

Related-To: NEO-12287

Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-01-30 22:09:39 +01:00
Szymon Morek 09118d2011 performance: don't wait immediately after VmBind
Related-To: NEO-13456

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-01-30 18:52:22 +01:00
Lukasz Jobczyk 09e23804dc refactor: Use timestamp types for events and in order nodes
Switching tagAllocation into UC causes regressions in non event
scenarios. It is no longer used as dependant type for semaphores.
Restoring previous GMM_USAGE settings for tag.
Marking events and in order nodes using only timestamp types as they
have proper GMM_USAGE settings already and can be both in smem and lmem.

Resolves: NEO-13847

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-01-30 12:20:38 +01:00
Compute-Runtime-Validation 7cbe19c5a9 Revert "fix: Dont enable scratch pages when debugger is on"
This reverts commit 18d04b239e.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-01-29 01:30:59 +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
Lukasz Jobczyk 7eac78d253 refactor: Make semaphore dependant resources UC
Change for tagBuffer type on Windows. Timestamp types are already UC on all DC
flush platforms regardless of OS.

Resolves: NEO-13847

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-01-28 14:51:28 +01:00
Brandon Yates 18d04b239e fix: Dont enable scratch pages when debugger is on
Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2025-01-27 22:05:34 +01:00
John Falkowski e11e7b9b94 feature: Add shared System USM Allocation in support of appendLaunchKernel
Related-To: NEO-12988

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2025-01-24 23:41:26 +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
Compute-Runtime-Validation ce9202ab9d Revert "feature: enable recoverable pagefault"
This reverts commit 713df81dbf.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-01-23 04:01:31 +01:00
Tomasz Biernacik ffc7bd1b37 feature: enable getting fd from vmExport
Related-To: NEO-12680


Signed-off-by: Tomasz Biernacik <tomasz.biernacik@intel.com>
2025-01-23 00:44:38 +01:00
Mateusz Hoppe 19a0a27862 refactor: adjust unit tests to work with secondary engines
Related-To: NEO-12952, NEO-13789


Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-01-22 13:31:43 +01:00
Young Jin Yoon 713df81dbf feature: enable recoverable pagefault
Enabled recoverable pagefault and kmd migration support by
default for bmg and lnl, but disabled kmd migration for XeKMD
in order to disable kmd migration for all platforms using
XeKMD for now.

Related-To: NEO-13116
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2025-01-21 12:17:04 +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
Raiyan Latif 12e3204cab fix: Process OpaqueWin32 external semaphore properly
Related-To: NEO-11488

Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2025-01-20 00:22:14 +01:00
Jitendra Sharma 06ea5944bd fix: Retrieve tileIndex using gt_id
Related-To: NEO-11104
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2025-01-16 17:45:03 +01:00
Naklicki, Mateusz 3e29ca9057 fix: explicitly disable scratch pages on xekmd platforms
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2025-01-16 12:09:27 +01:00
Compute-Runtime-Validation 945c4a3ccc Revert "feature: Enable page faults for xe driver with debugger"
This reverts commit 4300f0bdbe.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-01-16 11:16:14 +01:00
Krzysztof Sprzaczkowski a17745532c performance: Move preemption allocation init to the first submission
Related-To: NEO-12323
Signed-off-by: Krzysztof Sprzaczkowski <krzysztof.sprzaczkowski@intel.com>
2025-01-15 20:22:50 +01:00
Compute-Runtime-Validation af031ee0e3 Revert "performance: align structures for 64-bit platforms"
This reverts commit 9f07f56f7f.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-01-15 09:02:01 +01:00
Compute-Runtime-Validation 242a31a024 Revert "refactor: remove excess cast to C-string and add const reference"
This reverts commit 34ee40393f.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-01-15 02:43:40 +01:00
Maciej Bielski e95c7aac92 fix: set memoryBanks correctly for single memory bank
Resolves: HSD-18040585222

Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2025-01-14 20:38:10 +01:00
Brandon Yates 16b0ea6897 feature: Handle page fault events for xe debugger
Related-to: NEO-10134

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2025-01-14 18:16:05 +01:00
Semenov Herman (Семенов Герман) 34ee40393f refactor: remove excess cast to C-string and add const reference
Signed-off-by: Semenov Herman (Семенов Герман) <GermanAizek@yandex.ru>
2025-01-14 13:25:31 +01:00
Tomasz Biernacik cd2383b63e feature: enable setting prelim properties to context
Related-To: NEO-12680

Signed-off-by: Tomasz Biernacik <tomasz.biernacik@intel.com>
2025-01-14 12:49:27 +01:00
Brandon Yates 4300f0bdbe feature: Enable page faults for xe driver with debugger
Related-to: NEO-10134

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2025-01-14 09:32:53 +01:00
Compute-Runtime-Validation dc49d09e64 Revert "fix: set memoryBanks correctly for single memory bank"
This reverts commit ec5477e3ee.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-01-11 01:56:37 +01:00
Herman Semenoff fa23a41482
Merge branch 'master' into fixes 2025-01-11 00:10:39 +03:00
Semenov Herman (Семенов Герман) 56f6655c6d refactor: using optimize funcs with char param, calc len out-of-loop 2025-01-10 21:09:58 +03:00
Maciej Bielski ec5477e3ee fix: set memoryBanks correctly for single memory bank
Resolves: HSD-18040585222

Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2025-01-10 10:01:33 +01:00
Semenov Herman (Семенов Герман) 9f07f56f7f performance: align structures for 64-bit platforms
Signed-off-by: Semenov Herman (Семенов Герман) <GermanAizek@yandex.ru>
2025-01-09 06:03:39 +01:00
Compute-Runtime-Validation 58707e0cf7 Revert "refactor: migration to std::make_unique C++17"
This reverts commit 4cf685cb7d.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-01-09 01:41:36 +01:00
Semenov Herman (Семенов Герман) 4cf685cb7d refactor: migration to std::make_unique C++17
Signed-off-by: Semenov Herman (Семенов Герман) <GermanAizek@yandex.ru>
2025-01-08 17:20:00 +01:00
Brandon Yates 4111821c86 feature: place device bitfield in debugger metadata
Device bitfield is used to track tile instanced isa segments
by dmgUMD

Related-To: NEO-11104

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2025-01-07 11:56:25 +01:00
Oskar Hubert Weber 435b6f8e28 fix: regression
fixes regression caused by previous pr

Related-To: NEO-8116

Signed-off-by: Oskar Hubert Weber <oskar.hubert.weber@intel.com>
2024-12-24 07:51:07 +01:00
Compute-Runtime-Validation 95b3d16d76 Revert "fix: add scratch page support with xekmd"
This reverts commit dec695f405.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-12-23 19:05:29 +01:00
Oskar Hubert Weber 1c1b2db9a9 fix: allowing neo ULT build with optimization enabled 5/n
- fix mismatched-new-delete warnings
- fix initialization warnings
- fix attempt to free a non-heap object warnings

Related-To: NEO-8116

Signed-off-by: Oskar Hubert Weber <oskar.hubert.weber@intel.com>
2024-12-23 13:07:55 +01:00
Naklicki, Mateusz dec695f405 fix: add scratch page support with xekmd
Also explicitly disable it by default.


Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2024-12-23 11:00:12 +01:00
Chodor, Jaroslaw dd3d5c6460 feature: Add logic for reading loaded library's version
getLoadedLibVersion is intended for reading version of a library that was
already loaded into the process prior to this call (i.e. new instance of
the library willnot be loaded).
Note: Currently, only windows version of this functionality is implemented.
Related-To: GSD-10248

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-12-20 17:29:19 +01:00
Mateusz Hoppe 1110410caf fix: change emplace() on map to insert()
- fixes problem with some compilers

Related-To: GSD-10365, GSD-10367, GSD-10441

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-12-18 17:51:22 +01:00
Slawomir Milczarek 3a6ce6dca9 feature: Improve ioctl helper function to synchronize userptr allocation
Related-To: NEO-11817

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2024-12-18 17:40:27 +01:00
Mateusz Jablonski ac42206e0a fix: defer creation of IoctlHelperXe
create IoctlHelperXe within Drm::setupIoctlHelper

Related-To: NEO-13527
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-12-18 15:36:15 +01:00
Mateusz Jablonski 593a6c54ea feature: add debug flag to ignore product specific ioctl helper creation
Related-To: NEO-13527
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-12-18 13:52:30 +01:00
Jitendra Sharma 0248b53d86 feature: Retrieve vmToTile map information for multi tile eudebug support
Related-To: NEO-11104
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-12-18 11:59:49 +01:00
Mateusz Jablonski f357ada604 refactor: move product specific ioctl helper creation out of i915 specific code
Related-To: NEO-13527
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-12-18 11:36:07 +01:00
Mateusz Jablonski 169469eb06 refactor: extract querying device id / revision id to separate method in xe path
Related-To: NEO-13527
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-12-18 09:57:19 +01:00
Mateusz Jablonski 270570c5d3 refactor: move i915 specific logic to ioctl helper i915
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-12-18 09:44:30 +01:00
Filip Hazubski a0cc124b2e performance: Pass RootDeviceIndicesContainer by reference
Additionally pass std::map by reference in UsmMemAllocPoolsManager c-tor.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-12-17 14:18:30 +01:00
Mateusz Jablonski 474005de7d refactor: move Drm methods definition to drm_neo.cpp file
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-12-17 13:41:57 +01:00
Compute-Runtime-Validation c7d1f3b6a9 Revert "performance: don't wait on fence immediately after bind"
This reverts commit ff65d0ab59.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-12-17 06:03:24 +01:00
Mateusz Jablonski 9b4606f5c6 refactor: remove not needed code
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-12-16 23:47:37 +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
Szymon Morek ff65d0ab59 performance: don't wait on fence immediately after bind
Related-To: NEO-13456

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-12-16 16:56:05 +01:00
Jitendra Sharma 322089fa5f feature: Pass cookie in vmBindExt
Provide cookie in vmBindExt, so that information about deviceBitField
could be provided to vmBind. This information could be used in
debugUMD code to to create grouping of ISA segments on different
tiles.

Related-To: NEO-11104
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-12-16 14:11:20 +01:00
Mateusz Jablonski 86ecbf3507 fix: explicitly report unhandled event exec queue placements
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-12-16 13:11:39 +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
Mateusz Jablonski 49c028858a fix: optimize bind info in ioctl helper xe
bind info container is needed to distinguish between userptr and handles
with this change it stores only userptrs and their corresponding gpu va

Related-To: NEO-13501
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-12-13 16:07:30 +01:00
Mateusz Hoppe 0589a70dc7 feature(sysman): reinitialize gfxPartition on reset
Related-To: NEO-13203

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-12-12 16:27:25 +01:00
Compute-Runtime-Validation 924ad580bd Revert "fix: enable scratch pages on xekmd"
This reverts commit 74824f659a.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-12-11 07:10:27 +01:00
Szymon Morek c3ed6e062a performance: enable timestamp reuse on linux
Related-To: NEO-13456

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-12-10 11:57:45 +01:00
Naklicki, Mateusz 74824f659a fix: enable scratch pages on xekmd
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2024-12-10 11:48:09 +01:00
Maciej Bielski 1fafd44af5 refactor: use level-specific name for CacheInfo instances
Related-To: NEO-12837

Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-12-10 11:45:11 +01:00
Mateusz Jablonski d78ca38d9b refactor: remove dead code
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-12-09 19:26:00 +01:00
Maciej Bielski c9726dbb10 refactor: simplify tracking CacheRegion reservations
Leverage features of the mechanism to simplify implementation:
- The maximum number of possible cache-region reservations is a small
value known at compile-time
- Each reservation is unique (described by `CacheRegion`) so can have
a dedicated entry with either zero (free) or non-zero (reserved) value

So, there is no need for a dynamic collection (unordered_map here) to
keep track of reservations. A simple array is enough for that purpose.

Also, add some helper-code to enable array-indexing with the values of
`CacheRegion` enum.

Related-To: NEO-12837
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-12-09 16:50:28 +01:00
Maciej Bielski 4467b1e8de feature: specify cache level when reserving a region
Related-To: NEO-12837
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-12-09 12:54:48 +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
Bartosz Dunajski 9629ab3cc3 fix: disable fence wait if not supported on given CSR type
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-12-02 15:32:23 +01:00
Slawomir Milczarek edaac6ce43 feature: Add ioctl helper function to synchronize userptr allocations
Related-To: NEO-12846

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2024-11-22 17:58:25 +01:00
Bellekallu Rajkiran 0c3a767ae6 fix: Enable immediate binding for make resident on linux
Related-To: NEO-11977

Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
2024-11-22 15:56:18 +01:00
Alicja Lukaszewicz 789efc8909 fix: remove number of RT stacks from capability table
Related-To: NEO-10830

Signed-off-by: Alicja Lukaszewicz <alicja.lukaszewicz@intel.com>
2024-11-21 14:46:50 +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 f005574f3e feature: ioctl helper for allocUserPtr in createAllocWithAlignmentFromUserptr
Related-To: NEO-12846

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2024-11-19 18:13:46 +01:00
Mateusz Jablonski b46525f556 feature: handle DRM_XE_TOPO_SIMD16_EU_PER_DSS in xe non-prelim path
Related-To: NEO-12012
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-11-18 13:41:16 +01:00
Slawomir Milczarek 8b7aa340ad feature: Add ioctl helper function to allocate user ptr
Related-To: NEO-12846

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2024-11-15 22:10:29 +01:00
Slawomir Milczarek d745f41a76 feature: Ioctl helper mmap/acquireGpuRange functions in creating usm allocation
Related-To: NEO-12846

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2024-11-13 16:56:13 +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
Compute-Runtime-Validation fd1a000ae4 Revert "feature: enable recoverable pagefault"
This reverts commit c6c2eef063.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-11-06 07:39:04 +01:00
Young Jin Yoon c6c2eef063 feature: enable recoverable pagefault
Enabled recoverable pagefault

Related-To: NEO-13116
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2024-11-04 21:44:04 +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
Naklicki, Mateusz 64061b623b feature: xekmd vm prefetch
Related-To: HSD-18040382956
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2024-10-31 13:49:25 +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
Young Jin Yoon ebdded1bb9 fix: change error message for GPU page fault
Change the error message for GPU page fault to match
with the message from gdb output

Related-To: NEO-13093
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2024-10-26 01:29:50 +02:00
Slawomir Milczarek 2b2bd19845 feature: Add branch dir suffix for ioctl helper xe prelim in cmake
Related-To: NEO-12846

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2024-10-25 12:20:43 +02:00
Naklicki, Mateusz a429f520fb fix: use proper cpu caching for USM allocations
When using USM allocation, placement of BO can be simultaneously set to
local and system memory. This indicatates that migration between them
is allowed, but then we must not allow CPU caching to prevent corruptions.

Related-To: HSD-18040382956
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2024-10-24 03:24:29 +02:00
Compute-Runtime-Validation 69046526bd Revert "feature: Add branch dir suffix for ioctl helper xe prelim in cmake"
This reverts commit ac9386e190.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-10-23 19:25:11 +02:00
Slawomir Milczarek ac9386e190 feature: Add branch dir suffix for ioctl helper xe prelim in cmake
Related-To: NEO-12846

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2024-10-23 14:30:58 +02:00
Maciej Bielski 45e78fea76 fix: use productHelper in getPatIndexInfoString() on Windows
Fix the PAT-index reporting in logger as currently on Windows reported
values are simply wrong.

The changed logic dependends on `RootDeviceEnvironment` and in order to
avoid introducing such dependencies into logger.[ch] the
`logAllocation()` is no longer a member of `FileLogger` but
a free-function instead (and a separate .cpp file). This is important
because the source files `logger.[ch]` are also used by ocloc library
and there is no point to contaminate ocloc code structure with
unnecessary dependencies.

Related-To: NEO-9421
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-10-22 19:27:13 +02: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
Robert Krzemień fe1fd22371 fix: stop direct submission before oa configuration activation
Related-To: NEO-12778
Signed-off-by: Robert Krzemień <robert.krzemien@intel.com>
2024-10-22 14:26:44 +02:00
Tomasz Biernacik 46f3d27339 feature: initialize regionCount
Related-To: NEO-12138

Signed-off-by: Tomasz Biernacik <tomasz.biernacik@intel.com>
2024-10-18 13:33:14 +02:00
Mateusz Jablonski 4154e6666b fix: correct loading L0 loader functions
- don't load ze_loader.dll from file system
- to perform self-open on Windows use getModuleHandleA with proper module name
- don't free library loaded with getModuleHandleA
- as loader may be not available during runtime teardown:
- load translate handle function during global setup
- load setDriverTeardown function during global teardown
- when loader is not available during teardown, unset translate handle
function

Related-To: GSD-10147

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-10-17 15:39:20 +02:00
Tomasz Biernacik c982981dde feature: add number of rt stacks to capability table
Related-To: NEO-12138

Signed-off-by: Tomasz Biernacik <tomasz.biernacik@intel.com>
2024-10-17 14:46:19 +02:00
Compute-Runtime-Validation f117b5fb68 Revert "fix: correct loading L0 loader functions"
This reverts commit 9c7b3c5e19.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-10-17 08:20:19 +02:00
Mateusz Jablonski 9c7b3c5e19 fix: correct loading L0 loader functions
on Windows use getModuleHandleA with proper module name
don't load ze_loader.dll from file system

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-10-16 19:53:05 +02:00
Tomasz Biernacik bf6d9fc416 feature: read new params from blob
Related-To: NEO-12138

Signed-off-by: Tomasz Biernacik <tomasz.biernacik@intel.com>
2024-10-16 10:29:22 +02:00
Mateusz Jablonski 2ce3022030 refactor: remove not needed code
Related-To: NEO-12949
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-10-15 15:33:12 +02:00
Slawomir Milczarek ec66d9e82d feature: Add getter to query drm about device node
Related-To: NEO-11817

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2024-10-14 17:58:24 +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
Szymon Morek 7f2b806413 fix: Override timestamp width from KMD
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-10-14 13:38:33 +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
Compute-Runtime-Validation 94d662a9a9 Revert "fix: update slm size based on gt system info in drm path"
This reverts commit 6a8a5bca3b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-10-11 03:20:29 +02:00
Mateusz Jablonski 6a8a5bca3b fix: update slm size based on gt system info in drm path
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-10-10 11:25:24 +02:00
Wojciech Konior 6b40f9bc5a refactor: engineInstancedType removed
Related-To: NEO-12594

Signed-off-by: Wojciech Konior <wojciech.konior@intel.com>
2024-10-09 16:30:48 +02:00
Bartosz Dunajski 834f00d48b fix: dont query timestamp if debug flag is disabled
Related-To: NEO-12907

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-10-09 16:08:04 +02:00
Mateusz Jablonski 8fbe873e1b build: correct setting for i915/xe prelim setting in package scripts
rename i915 flag to uppercase, for consistency
disable i915 / xe prelim by default in package scripts

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-10-09 15:55:59 +02:00
Bartosz Dunajski 9a280892f8 refactor: add timestamps to xe logs
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-10-07 11:42:55 +02:00
Maciej Plewka e73e865b61 fix: If dummy exec failed call evict from outside the lock
Related-To: NEO-12849, HSD-18040201135
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-10-07 10:17:16 +02:00
Mateusz Hoppe e5658e5327 fix: fix freeing allocations in aub mode
- free in operations handler with aub dump must be called to evict
allocations from residentAllocations list
- prior to this change - stale allocations where in the container
leading to crash in aub modes

Related-To: NEO-12869

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-10-03 17:14:07 +02:00
Compute-Runtime-Validation 31618d9e18 Revert "fix: add workaround for incorrect DRM system info"
This reverts commit 7ac991fa3f.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-10-03 15:22:21 +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
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
Naklicki, Mateusz 516e502b8c fix: remove obsolete workaround about memory locking
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2024-10-02 15:55:50 +02:00
Artur Harasimiuk 22505ca3ed refactor: cleanup coding style
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2024-10-02 12:42:39 +02:00
Mateusz Jablonski e4be88dff0 refactor: correct location of ioctl helper files
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-10-01 14:48:12 +02:00
Mateusz Jablonski 9b7ac3a71e fix: correct querying number of slices in xe path
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-25 19:16:41 +02:00
Mateusz Jablonski d3432c6b2b fix: respect max subslice count when parsing subslice info in xe path
don't parse more data than max subslice count
setup slice count based on slice indices size
unify get topology map and get topology data methods to reduce
loop iterations

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-25 17:01:05 +02:00
Mateusz Jablonski f8e77d5f43 fix: remove check for xe vmbind flags support
bind immediate and readonly flags are already available in upstream

Related-To: NEO-12774
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-24 14:33:31 +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
Slawomir Milczarek 354bef70ac feature: Add ioctl helper function to get fence address
Related-To: NEO-11817

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2024-09-20 19:30:10 +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
Mateusz Jablonski 86a088e13f feature: move L3 bank query from xe-prelim to xe-nonprelim path
Related-To: NEO-11125
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-17 18:14:17 +02:00
Young Jin Yoon 4b132245d1 fix: use immediate for makeMemoryResident
Modified to enable immediate flag when resident boolean
is true for vm_bind

Related-To: NEO-8277

Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2024-09-17 07:48:58 +02:00
Brandon Yates 33364baae7 fix: Use prelim prefix for xe debug sysfs file name
Related-to: NEO-7979

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-09-13 23:23:22 +02:00
Mateusz Hoppe 8698b5504b fix: correctly initialize GfxCoreHelper from HwInfo
Related-To: NEO-11983

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-09-13 14:54:32 +02:00