Commit Graph

4976 Commits

Author SHA1 Message Date
b7d7424aab build: enable c++20
Related-To: NEO-10767
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-01-20 12:35:12 +01:00
1ce795c265 refactor: fixes in ults
Related-To: NEO-13789

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-01-20 09:57:05 +01:00
6b43e7a4ec test: heapless fix for CopyImageToBuffer ult
Related-to: NEO-12737

Signed-off-by: Damian Tomczak <damian.tomczak@intel.com>
2025-01-20 09:13:54 +01:00
af0bb7964a performance: Set dispatch all for small TG
Resolves: NEO-11814

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-01-20 08:49:59 +01:00
ac78c07899 refactor: unify duplicated code for staging images
Pass command type instead of maintaining
two methods for reads and writes

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-01-17 09:52:35 +01:00
c8cbed8e9b Revert "feature: enable C++20"
This reverts commit 137e004767.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-01-17 02:48:11 +01:00
137e004767 feature: enable C++20
Related-To: NEO-10767
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-01-16 20:10:15 +01:00
4dd1c80362 refactor: use enum class instead of enum for DeviceHierarchyMode
Related-To: GSD-9560
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-01-16 15:49:44 +01:00
7d8e08f00b test: adjust code to compile with c++20 2/n
Related-To: NEO-10767
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-01-16 15:24:25 +01:00
d263fda1ad feature: patch 64bit addresses for bindless images in heapless OCL
Related-To: NEO-12741
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-01-16 15:24:02 +01:00
0278d2e652 test: adjust code to compile with c++20
Related-To: NEO-10767
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-01-16 12:04:50 +01:00
a9a2f7577f performance: enable staging write for cl buffers
Related-To: NEO-13529

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-01-16 12:04:28 +01:00
99a7b5a4fb refactor: remove not needed volatile
Related-To: NEO-10767
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-01-16 00:43:10 +01:00
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
0b4fe9a0df performance: add staging transfers for cl buffers
Related-To: NEO-13529

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-01-15 12:24:43 +01:00
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
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
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
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
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
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
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
9f07f56f7f performance: align structures for 64-bit platforms
Signed-off-by: Semenov Herman (Семенов Герман) <GermanAizek@yandex.ru>
2025-01-09 06:03:39 +01:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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