Commit Graph

2274 Commits

Author SHA1 Message Date
Latif, Raiyan 3122ce963e fix: Fix wait path in Experimental External Semaphore
Related-To: NEO-11488

Signed-off-by: Latif, Raiyan <raiyan.latif@intel.com>
2025-01-06 04:05:59 +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
Raiyan Latif 7baf830a91 fix: Unitialized scalar value in Coverity scan
Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2024-12-19 19:39:16 +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
Raiyan Latif 06c94d47f9 feature: Add External Semaphore experimental [3/N]
Related-To: NEO-11488

Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2024-12-18 05:29:33 +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
Maciej Plewka 8151224501 fix: add microsecond resolution for timeout
Related-To: NEO-13445
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-12-13 09:32:18 +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
Damian Tomczak 98331e7d63 feature: is48bResourceNeededForRayTracing specialization for rt encoder
Related-to: NEO-10074

Signed-off-by: Damian Tomczak <damian.tomczak@intel.com>
2024-12-12 13:29:07 +01:00
Lukasz Jobczyk c2093990d4 fix: Flush monitor fence only to context where needed
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-12-11 10:06:43 +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
Dominik Dabek 894c74b62d fix: disable indirects detection on non-PVC
Also add ULTs for getting indirect detection version product helper
methods.

Related-To: GSD-10453

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-12-09 15:11:30 +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
Fabian Zwoliński d2ce3badfc fix: bindlessHeapsHelper handle unavailable external heap
This PR handles the situation in which a component
has reserved a front window space for itself in the external heap,
so that the Compute Runtime cannot access this area.

In such a situation, we perform the following steps:
1. reserve 4GB chunk in heapStandard
2. split our chunk into 2 parts: heapFrontWindow, heapRegular
3. from this point on, map all linearStream allocations in reserved 4GB
chunk

Patch applies to Windows and WSL.
Patch only applies when the bindless global allocator is enabled.

Related-To: HSD-16025889919
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2024-12-05 14:18:01 +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
Lukasz Jobczyk d40a804bca performance: Allocate by KMD on BMG
Related-To: NEO-10526

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-12-04 14:41:25 +01:00
Szymon Morek d5e5c8e59e fix: call flushMonitorFence on BCS CSR
Related-To: NEO-12477

Also, make sure that global fence is always resident

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-12-03 12:48:54 +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
Compute-Runtime-Validation f5cda5ba53 Revert "fix: call flushMonitorFence on BCS CSR"
This reverts commit fc8aa8246b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-11-30 22:31:30 +01:00
Dominik Dabek 99a353a15a feature: flags for logging indirect detection
Add flag to log information for indirect detection debugging.
Add flag to disable indirect detection by kernel name.
Add flag to force indirect detection enable/disable for CM kernels.

Related-To: NEO-13372

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-11-29 16:37:47 +01:00
Szymon Morek fc8aa8246b fix: call flushMonitorFence on BCS CSR
Related-To: NEO-12477

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-11-29 16:31:40 +01:00
Mateusz Jablonski c96f2e2df7 fix: add debug break in case of eviction failure
Eviction failure may lead to device error state

Related-To: GSD-10319
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-11-27 11:39:15 +01:00
Mateusz Jablonski 974e8ae63f performance: don't call evict with empty handle list
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-11-27 09:25:36 +01:00
Mateusz Jablonski db6fe7892c fix: remove destroyed allocations from eviction lists
mark explicitly made resident allocations

Related-To: NEO-13246, GSD-10319
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-11-25 22:19:54 +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