Commit Graph

2531 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Szymon Morek
e6d11eb04b performance: stop ULLS for BCS during migration
Related-To: NEO-13340

When regular copy CSR has enabled direct submission,
stop it before migration on internal CSR.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-12-02 17:57:12 +01:00
Robert Krzemień
d8a4f92856 fix: don't include perf counters in timestamp profiling
Resolves: GSD-10387
Signed-off-by: Robert Krzemień <robert.krzemien@intel.com>
2024-12-02 12:54:06 +01:00
Zbigniew Zdanowicz
56b15f17f7 refactor: unify further calculation to get max work group count
- move available device calculcation into common helper
- change interface to have code available where no descriptor is available
- expand unit test for implementation of new inteface

Related-To: NEO-13350

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-11-29 17:51:05 +01:00
Zbigniew Zdanowicz
c5ed6bf73c refactor: split sync buffer and region allocation creation code
- split the allocation code from command list or kernel
- allow to call allocation code in all parts of the driver

Related-To: NEO-13350

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-11-29 11:41:39 +01:00
Bartosz Dunajski
5e1fa75676 refactor: adjust code to compile with c++20
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-11-29 10:27:29 +01:00
Vysochyn, Illia
afd22999cc refactor: Adjust RENDER_SURFACE_STATE structures naming
Performs minor renaming (mostly capitalization) in order to align with
specification.

Renames L1_CACHE_POLICY to L1_CACHE_CONTROL.

Related-To: NEO-13147

Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
2024-11-29 09:43:11 +01:00
Compute-Runtime-Validation
bced7e4621 Revert "performance: stop ULLS for BCS during migration"
This reverts commit 81ba52aac4.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-11-29 04:42:26 +01:00
Vysochyn, Illia
89c3aab321 refactor: Extract PostSyncType to outer abstract layer
This modification serves to simplify the integration of generated
compute walker structures.

Related-To: NEO-13147

Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
2024-11-28 18:09:21 +01:00
Mateusz Jablonski
fa58073095 refactor: remove not used usings/typedefs/variables
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-11-28 16:19:39 +01:00
Szymon Morek
53da277bc1 fix: assign CSR once for staging image write
Related-To: NEO-13330

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-11-28 11:25:38 +01:00
Szymon Morek
81ba52aac4 performance: stop ULLS for BCS during migration
Related-To: NEO-13340

When regular copy CSR has enabled direct submission,
stop it before migration on internal CSR.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-11-27 20:06:50 +01:00
Zbigniew Zdanowicz
6b7235cd6c refactor: change parameter names into more meaningful
- change additional size into local region size
- change walk order into dispatch walk order to distinguish for local id walk

Related-To: NEO-13350

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-11-27 16:15:02 +01:00
Bartosz Dunajski
1ddcb92f1d refactor: pass device to encoder functions
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-11-25 16:25:04 +01:00
Lukasz Jobczyk
7832b115a4 fix: Select csr once for staging buffer memcpy
Resolves: NEO-13083

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-11-22 15:42:09 +01:00
Wenbin Lu
47383d752f fix: report correct number of XeCore per Cluster
Related-To: NEO-10060

Signed-off-by: Wenbin Lu <wenbin.lu@intel.com>
2024-11-22 09:40:28 +01:00
Jaroslaw Warchulski
723e1e7d29 fix: expose tiles as devices in OCL with combined hierarchy
Related-To: GSD-8708
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2024-11-21 15:23:06 +01:00
Maciej Plewka
46c345789d refactor: move depth limitation from release helper to image_hw
Related-To: NEO-8390, HSD-16021488507
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-11-21 11:24:06 +01:00
Jaroslaw Warchulski
051cada78b refactor: add patchtokens fallback AIL
Related-To: HSD-14023878700

Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2024-11-20 12:58:22 +01:00
Chodor, Jaroslaw
3a0c2005d4 refactor: Cleanup around options files
* Adding options*.inl to sources list
* Improving robustness of missing IGC library log

Related-To: NEO-12747

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-11-17 17:13:03 +01:00
Damian Tomczak
d07d54b8f0 Revert "refactor: stateless enqueueCopyBufferRect"
This reverts commit d8f0b1c17d.

Related-To: NEO-12964

Signed-off-by: Damian Tomczak <damian.tomczak@intel.com>
2024-11-13 01:33:22 +01:00
Mateusz Jablonski
1350441a72 build: fix multiple definitions issue
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-11-12 15:54:12 +01:00
Dominik Dabek
0a12817664 performance: flag, force zero copy for host ptr
When debug flag ForceZeroCopyForUseHostPtr is set, add
CL_MEM_FORCE_HOST_MEMORY_INTEL flag to buffers created with
CL_MEM_USE_HOST_PTR.
This makes the buffers use zero copy.

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-11-12 15:43:17 +01:00
Szymon Morek
a25e973205 performance: write image through staging chunks
Related-To: NEO-12968

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-11-06 16:45:22 +01:00
Maciej Plewka
df7e5191ed fix: check if tracing_exit was called before return from api call
Related-To: GSD-9415, NEO-12719
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-11-06 11:31:31 +01:00
Maciej Plewka
75595e687e fix: add missing tracing_exit before return in api.cpp
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>

Related-To: GSD-9415, NEO-12719
2024-11-05 11:59:05 +01:00
Zbigniew Zdanowicz
89b40b7ec4 refactor: change additional walker fields encoder 6/n
- change order of members of additional walker struct

Related-To: NEO-12639

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-11-05 08:28:57 +01:00
Zbigniew Zdanowicz
2e2b7a473a refactor: change additional walker fields encoder 5/n
- move compute dispatch all walker into dedicated encoder
- group same implementations into single file

Related-To: NEO-12639

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-11-04 13:11:59 +01:00
Zbigniew Zdanowicz
32fd00e150 refactor: change additional walker fields encoder 4/n
- move post sync system fence into dedicated encoder

Related-To: NEO-12639

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-10-31 14:41:55 +01:00
Lukasz Jobczyk
b050a83242 performance: Use lock pointer copy for dc flush mitigation
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-10-31 10:53:39 +01:00
Compute-Runtime-Validation
3fcb9b18ee Revert "performance: Use lock pointer copy for dc flush mitigation"
This reverts commit b8be102455.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-10-31 05:15:07 +01:00
Szymon Morek
cf58be4142 performance: use staging buffer when writing to an image
Related-To: NEO-12968

Also, don't import usm/mapped allocations for image
operations

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-10-30 17:02:13 +01:00
Lukasz Jobczyk
b8be102455 performance: Use lock pointer copy for dc flush mitigation
Resolves: NEO-12898

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-10-29 21:37:53 +01:00
Zbigniew Zdanowicz
6f4994c269 refactor: change additional walker fields encoder 1/n
- move encoding l3 prefetch field into dedicated function

Related-To: NEO-12639

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-10-29 21:37:38 +01:00
Oskar Hubert Weber
fd45b2883d fix: neo ULT build with optimizations disabled 1/n
Related-To: NEO-8116

Signed-off-by: Oskar Hubert Weber <oskar.hubert.weber@intel.com>
2024-10-28 15:38:28 +01:00
Compute-Runtime-Validation
f5c433c8f8 Revert "performance: Use lock pointer copy with sfence for dc flush mitigation"
This reverts commit 8c3c703ec0.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-10-26 14:28:26 +02:00
Kamil Kopryk
3891e887c1 feature: use heapless builtins for images
Related-To: NEO-12744
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-10-25 16:42:27 +02:00
Zbigniew Zdanowicz
bbdf1ac7b6 refactor: change encoder for thread group over dispatch 1/n
- change method name to more meaningful
- add all inputs of the algorithm as explicit function arguments
- position all implementations accordingly
- rename unit test names to fit new method name
- fix unit test to have correct initial command values
- fix unit test to have consistent input values with command values
- fix unit test to change input values together with command values

Related-To: NEO-12639

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-10-25 16:31:39 +02:00
Lukasz Jobczyk
8c3c703ec0 performance: Use lock pointer copy with sfence for dc flush mitigation
Resolves: NEO-12898

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-10-25 16:24:40 +02:00
Dominik Dabek
22a3ec948b fix: ulls controller sleep, windows
Request higher resolution for windows periodic timers for ulls
controller sleep.

Allows for controller thread to sleep with granularity of 1ms.

Related-To: NEO-10800

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-10-24 18:07:04 +02:00