Commit Graph

1451 Commits

Author SHA1 Message Date
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