Commit Graph

5617 Commits

Author SHA1 Message Date
Jaroslaw Warchulski
6a7bee67e9 refactor: unify device hierarchy mode
Related-To: GSD-9560
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-01-14 21:08:44 +01:00
Damian Tomczak
b859a3b35b refactor: remove usesBindfulAddressingForBuffers function
Related-to: NEO-12737

Signed-off-by: Damian Tomczak <damian.tomczak@intel.com>
2025-01-14 10:45:04 +01:00
Jaroslaw Warchulski
a180afa2e6 fix: respect affinity mask with COMBINED hierarchy in OCL
Related-To: GSD-9560
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-01-13 15:38:39 +01:00
Mateusz Jablonski
112abeeeef fix: don't adjust programmed per thread scratch size
when adjusting scratch space size then adjust only allocation size

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-01-10 11:35:50 +01:00
Mateusz Jablonski
a3b6c1fa6d fix: correct thread/eu ratio for scratch to Xe2
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-01-09 22:42:36 +01:00
Jack Myers
7f9fadc314 fix: regression caused by tbx fault mngr
Addresses regressions from the reverted merge
of the tbx fault manager for host memory.

Recursive locking of mutex caused deadlock.

To fix, separate tbx fault data from base
cpu fault data, allowing separate mutexes
for each, eliminating recursive locks on
the same mutex.

By separating, we also help ensure that tbx-related
changes don't affect the original cpu fault manager code
paths.

As an added safe guard preventing critical regressions
and avoiding another auto-revert, the tbx fault manager
is hidden behind a new debug flag which is disabled by default.

Related-To: NEO-12268
Signed-off-by: Jack Myers <jack.myers@intel.com>
2025-01-09 07:48:53 +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
Vysochyn, Illia
a2aa645404 refactor: Update MI_MEM_FENCE
Refactors the MI_MEM_FENCE to align with the latest specification.

Related-To: NEO-13147

Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
2025-01-08 16:46:58 +01:00
Szymon Morek
bd5ca4fed5 fix: flush ocl queue after staging transfer
This is required for scenarios without direct submission
Otherwise, staging transfers are enqueued but not actually
flushed. If that happens, subsequent staging transfers can't
reuse previous staging buffers. It results in increased memory usage.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-01-08 14:02:33 +01:00
Lukasz Jobczyk
983b46fbbb performance: Align host USM to 2MB
Only on discrete devices and if size is greater than 2MB

Resolves: NEO-12652

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-01-07 14:32:26 +01:00
Szymon Morek
2815d4167d fix: don't use staging for map allocations
Related-To: NEO-13572

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-01-07 13:30:11 +01:00
Mateusz Jablonski
bb1a125f0c feature: add support for Panther Lake platform
Related-To: NEO-12803

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-01-07 11:39:56 +01:00
Mateusz Jablonski
c867a5ed5d refactor: remove redundant flag levelZeroSupported
all platforms are supported by L0

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-01-03 11:28:11 +01:00
Kulkarni, Ashwin Kumar
badbecb126 feature: adds support for 3 channel (2/N)
Allows user to create L0 images with 3 channel

Related-To: NEO-12887

Signed-off-by: Kulkarni, Ashwin Kumar <ashwin.kumar.kulkarni@intel.com>
2024-12-31 20:02:13 +01:00
Vysochyn, Illia
f198507875 refactor: Remove 3DSTATE_BTD_BODY structure
Removes 3DSTATE_BTD_BODY as redundant structure.

Related-To: NEO-13147

Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
2024-12-31 16:27:29 +01:00
Mateusz Hoppe
c08c9b7f86 refactor: change test to HWTEST
- move Heapful matcher to test macros
- check alignment in patchWithRequiredSize


Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-12-31 10:37:37 +01:00
Mateusz Hoppe
fc4ff598c1 refactor: move heapless related inline data programming
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-12-30 18:40:48 +01:00
Mateusz Hoppe
3179b30bb8 test(ocl): refactor ults
Related-To: NEO-12800

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-12-30 09:34:12 +01:00
Szymon Morek
548f93c55a Revert "performance: enable staging read for images"
This reverts commit 6aeb8dffa0.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-12-23 17:42:12 +01:00
Vysochyn, Illia
2951f8a411 refactor: Update CFE_STATE
Refactors the CFE_STATE to align with the latest specification.

Related-To: NEO-13147

Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
2024-12-23 14:31:20 +01:00
Szymon Morek
1135c1033e fix: set staging buffer writeable for aub and tbx
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-12-23 13:35:01 +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
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
Szymon Morek
6aeb8dffa0 performance: enable staging read for images
Related-To: NEO-12968

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-12-20 15:02:28 +01:00
Michal Mrozek
c858234a3c test: allow to utilize enqueue token for local size
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2024-12-20 13:58:10 +01:00
Michal Mrozek
cce17c41e8 test: local work size tokens may be optional for reqdWorkgroupSize cases
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2024-12-20 12:22:53 +01:00
Compute-Runtime-Validation
124e755b9d Revert "fix: regression caused by tbx fault mngr"
This reverts commit 9a14fe2478.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-12-19 17:35:03 +01:00
Jack Myers
9a14fe2478 fix: regression caused by tbx fault mngr
Addresses regressions from the reverted merge
of the tbx fault manager for host memory.

This fixes attempts by the tbx fault manager
to protect/unprotect host buffer memory, even
if the host ptr was not driver-allocated.

In the case of the smoke test that triggered
the critical regression, clCreateBuffer was
called with the CL_MEM_USE_HOST_PTR flag.
The subsequent `mprotect` calls on the
provided host ptr then failed.

Related-To: NEO-12268
Signed-off-by: Jack Myers <jack.myers@intel.com>
2024-12-18 23:16:36 +01:00
Marcel Skierkowski
ee0648c365 refactor: use virtualFileSystem in FileLogger ULTs
restored the possibility of different writing modes in the FileLogger
mocked writeToFile in TestFileLogger

Related-To: NEO-7006
Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
2024-12-18 19:01:39 +01:00
Mateusz Jablonski
e7a8936d70 test: don't use product specific ioctl helper in generic tests
Related-To: NEO-13527
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-12-18 17:26:12 +01:00
Szymon Morek
c5d541dd81 fix: initialize pointers to events
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-12-18 16:25:56 +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
Oskar Hubert Weber
7b4504549e test: allowing neo ULT build with optimization enabled 4/n
Related-To: NEO-8116

Signed-off-by: Oskar Hubert Weber <oskar.hubert.weber@intel.com>
2024-12-17 13:07:35 +01:00
Chodor, Jaroslaw
31f0eef4be fix: Use consistently proper size of implicit args buffer
Fixes discrepancy of implicit args buffer allocation and programming
in OCL path

Resolves: NEO-12316

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-12-16 18:07:22 +01:00
Dominik Dabek
e61d04a881 fix(ocl): track buffer pool count per device
Track amount of created buffer pools per device. Do not allocate extra
pools if limit is reached. New contexts will have pooling disabled if
limit is reached on device.

Related-To: NEO-13461

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-12-16 11:38:05 +01:00
Marcel Skierkowski
e27a6dc280 refactor: use virtualFileSystem in ULTs
reducing the number of tests that have interactions with filesystem.
writeDataToFile() saves filename and content in std::map.
fileExistsHasSize() checks if file was previously written to virtualFileSystem
loadDataFromVirtualFile() fetches data from std::map based on filename

Related-To: NEO-7006
Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
2024-12-13 17:57:07 +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
Zbigniew Zdanowicz
98fd7c9432 test: refactor aub tests to add fixture into separate file
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-12-13 14:35:32 +01:00
Lukasz Jobczyk
093d987e33 performance: Enable timestamp wait for queues on Xe2
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-12-13 09:48:12 +01:00
Compute-Runtime-Validation
6c5d9a6ed7 Revert "feature: extend TBX page fault manager from CPU implementation"
This reverts commit 51c0e80299.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-12-12 12:30:22 +01:00
Szymon Morek
6c4eb322b1 performance: introduce staging reads from image
Related-To: NEO-12968

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-12-11 14:43:45 +01:00
Jack Myers
51c0e80299 feature: extend TBX page fault manager from CPU implementation
In TBX mode, the host could not write to host buffers after access from device
code due to the lack of a migration mechanism post-initial TBX upload.
Migration is unnecessary with real hardware, but required for TBX.

This patch introduces a new page fault manager type that extends the original
CPU fault manager, enabling automatic migration of host buffers in TBX mode.

Refactoring was necessary to avoid diamond inheritance, achieved by using a
template parameter as the base class for OS-specific fault managers.

Related-To: NEO-12268
Signed-off-by: Jack Myers <jack.myers@intel.com>
2024-12-11 09:09:50 +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
Filip Hazubski
7f412c77a2 fix: Explicitly delete unused functions
Explicitly delete unused functions of CheckIfExitCalled
and VfManagementHandleContext. Comply with the rule of five.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-12-10 10:10:28 +01:00
Filip Hazubski
43c199185a fix: Add explicit nullptr checks
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-12-10 10:06:56 +01:00
Lukasz Jobczyk
8f671cb6a8 fix: Disable dc flush mitigation
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-12-09 11:48:11 +01:00
Vysochyn, Illia
0b7367ed5f refactor: Update STATE_BASE_ADDRESS
Refactors the STATE_BASE_ADDRESS to align with the latest specification.

Removes redundant functionality for multiple GPU partial writes and
atomics.

Related-To: NEO-13147

Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
2024-12-09 08:50:59 +01:00