Commit Graph

6831 Commits

Author SHA1 Message Date
Marcel Skierkowski
31f0fd4672 refactor: rename variable slmSize
Max programmable slm size is stored in RuntimeCapabilityTable as slmSize.
That is misleading name
Rename the variable slmSize to better reflect the actual meaning of the member.

Related-To: NEO-12949
Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
2025-04-14 20:00:29 +02:00
Chodor, Jaroslaw
7bded13638 feature: Enabling support for redirecting FCL to IGC for OCL
This allows for invoking IGC as OCL C translator in OpenCL paths

Accepted debug env :
UseIgcAsFcl=1 ; forces IGC
UseIgcAsFcl=2 ; forces FCL
UseIgcAsFcl=0 ; uses defaults

Related-To: NEO-14473
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-04-14 18:41:48 +02:00
Jaroslaw Warchulski
3e1aa33924 refactor: cleanup headers
Related-To: NEO-5548
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-04-14 14:59:40 +02:00
Maciej Bielski
6ecf5b373e feature: exit with warning if small bar detected on Linux
Return early and provide justification, otherwise SIGBUS error is
returned.

Related-To: NEO-14506
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2025-04-14 14:43:25 +02:00
Marcel Skierkowski
e82be94368 refactor: Modernize writeDataToFile function
Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
2025-04-14 14:28:58 +02:00
Kamil Kopryk
dd3d294f87 performance: cache MOCS values
This change caches the most used MOCS values:

* getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CONST);
* getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER);
* getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CACHELINE_MISALIGNED);
inside gmmHelper class during initialization to avoid repeated
calls of virtual functions, branches and/or gmm lib access.

and adds more readably corresponding getters:
* getL1EnabledMOCS
* getL3EnabledMOCS
* getUncachedMOCS

If force all resources uncached is called,
these 3 cached mocs values are reinitialized

It also changes the order of gmmHelper members, to avoid
not needed padding after addressWidth
and simplifies logic in getMocsIndex function
for xehp and later products.

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-04-14 14:12:48 +02:00
Tomasz Biernacik
194c3058b8 performance: change usage for ringBuffer on integrated devices
Related-To: NEO-9421

Signed-off-by: Tomasz Biernacik <tomasz.biernacik@intel.com>
2025-04-14 12:25:38 +02:00
Chodor, Jaroslaw
a079a2654d feature: Enabling support for DisableDeepBind debug env in ocloc
Accepted debug env :
NEO_OCLOC_DisableDeepBind=1

Related-To: NEO-14473
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-04-12 23:21:19 +02:00
Tomasz Biernacik
18435df04c fix: unify deferring MOCS to PAT
Related-To: NEO-14643

Signed-off-by: Tomasz Biernacik <tomasz.biernacik@intel.com>
2025-04-11 20:10:25 +02:00
Chodor, Jaroslaw
72ae27d51e feature: Enabling debug variables reader in ocloc
This allows for using debug variables in ocloc with
a few by-design limitations :
* debug var needs to be prefixed with NEO_OCLOC_
(when setting-up at runtime as environment variable
or using .config file)
* debug var needs to be tagged with S_OCLOC scope
(at compile time, in debug_variable .inl files)

Related-To: NEO-14473
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-04-11 19:58:53 +02:00
Chodor, Jaroslaw
9e14eaaed1 feature: Adding support for scoped debug variables
This allows for limitting debug variables to specific
components.

Related-To: NEO-14473
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-04-11 17:52:17 +02:00
Mateusz Hoppe
3204411aca refactor: use deviceBitfield from CSR when creating engine
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-04-11 17:30:29 +02:00
Szymon Morek
5b20450162 performance: enable compression on PTL
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-04-11 17:26:29 +02:00
Igor Venevtsev
ef52479ce4 feature: add FillImage1dBuffer built-in kernel
Resolves: NEO-13984, HSD-18041422852

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2025-04-10 14:04:13 +02:00
Marcel Skierkowski
5d01677454 refactor: Mock file system in ULTs
Functions: fileExists and loadDataToFile
use IO functions from namespace IoFunctions

Now tests that use these functions
are mocked by default,
but some still require access to real files
and have been restored the ability to read files.
They will be mocked in next PRs.

Related-To: NEO-7006
Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
2025-04-09 19:51:46 +02:00
Maciej Plewka
286acf30a3 fix: Dispatch residency fence when stopping ulls on windows
Related-To: NEO-14396, HSD-18041496023, HSD-13012953666, NEO-14611
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2025-04-09 19:51:16 +02:00
Szymon Morek
f4815a9b69 performance: enable ULLS on LNL Linux
Related-To: NEO-9004

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-04-09 14:45:46 +02:00
Lukasz Jobczyk
1b5519a880 fix: Adjust standard heaps when on 57 bit address space
Resolves: GSD-10871

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-09 12:51:03 +02:00
Fabian Zwoliński
363aa8cdbd performance: align local memory Tag allocations to 2MB
Align local memory allocations of tag types to 2MB when
2MB alignment is enabled via the product helper
(is2MBLocalMemAlignmentEnabled flag).

Refactored the allocateGraphicsMemoryInDevicePool function to improve
readability and maintainability. Simplified the logic for
determining base size and final alignment by reducing redundant code.

Related-To: NEO-12287
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-04-09 09:59:44 +02:00
Aravind Gopalakrishnan
c7fe7dde90 fix: Correct Xe sysfs paths for ccs mode setting
Fix the sysfs paths for Xe KMD

Related-To: NEO-10378

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2025-04-09 06:51:18 +02:00
Maciej Plewka
bb36614567 fix: add separate counter for tracking ring buffer completion
Related-To: NEO-14396, NEO-9548
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2025-04-08 16:30:44 +02:00
Jaroslaw Warchulski
fb5da0c3e5 fix: do not forbid compression for xe_lpg Windows and DG2
Related-To: NEO-14583, NEO-14593
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-04-08 16:08:59 +02:00
Marcel Skierkowski
b75fbe8e2c refactor: mock filesystem in ocloc ult pt.1
Mocked IO operations in ./ocloc_tests application

Mocked gtest stdout capture in ocloc tests

Related-To: NEO-14084
Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
2025-04-08 16:08:42 +02:00
Mateusz Jablonski
1c377dc930 fix: ensure payload arguments are patched before walker command is fetched
In case of indirect kernel launch some payload arguments are patched
just before walker command, this change disables prefetch, performs
batch buffer start to next bytes and then re-enable prefetch. All these
operations are performed between MI_STORE_REGISTER_MEM and COMPUTE_WALKER

Related-To: NEO-14584
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-04-08 11:57:45 +02:00
Lukasz Jobczyk
ca45573dd3 fix: Handle new ring buffer residency when switch ULLS light ring
Related-To: NEO-14406, NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-08 10:12:57 +02:00
Szymon Morek
ff1dcc1a8a performance: adust copy from image to host logic
Related-To: NEO-14569

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-04-08 10:02:00 +02:00
Brandon Yates
c4937991cd feature: Add l0DebuggerEnabled to WalkerArgs
Related-to: NEO-12993

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2025-04-08 03:53:38 +02:00
Vysochyn, Illia
4c580c0a83 feature: Update COMPUTE_WALKER instruction
Fixes incorrect RawData array length.

Related-To: NEO-14588

Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
2025-04-08 00:01:43 +02:00
Young Jin Yoon
0de024dbf9 refactor: separate post-sync into EncodePostSync
Created EncodePostSync template struct to organize various post-sync
variables/functions from EncodeDispatchKernel

Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2025-04-07 20:06:14 +02:00
Lukasz Jobczyk
5bcf500c13 fix: Extend ULLS light mutex range
If some operatioins requires ULLS light stop, execute such operations
under mutex in pair with ULLS stop to ensure no other thread will start
ULLS.

Related-To: NEO-14406, NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-07 17:35:04 +02:00
Vysochyn, Illia
146a7f7b9b feature: Add support for BUFFER_SIZE explicit argument
Related-To: NEO-13972

Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
2025-04-07 14:15:26 +02:00
Lukasz Jobczyk
8978ea5e5a performance: Do not create global fence allocation on integrated
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-07 11:22:04 +02:00
Jaroslaw Warchulski
df07897144 fix: forbid compression for pre-xe2 platforms
Related-To: NEO-9465
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-04-05 00:15:16 +02:00
Compute-Runtime-Validation
f332571d96 Revert "performance: Do not create global fence allocation on integrated"
This reverts commit ecf8a07d26.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-04-04 16:26:19 +02:00
Dominik Dabek
bd516b3552 fix: usm reuse, clean from largest
When trimming old allocations in usm reuse start from largest
allocations.
This will reduce memory usage more quickly once max hold time is hit.

Related-To: NEO-6893, NEO-14429

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-04-04 14:57:15 +02:00
Lukasz Jobczyk
ecf8a07d26 performance: Do not create global fence allocation on integrated
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-04 11:45:22 +02:00
Dominik Dabek
3703ff550c fix: use real size when putting into usm reuse
Real allocation size should be used to properly apply limits and allow
more usm reuse hits.

Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-04-04 09:44:32 +02:00
Bartosz Dunajski
f99870e716 fix: improve media handling 2
Related-To: NEO-14462

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-04-03 19:11:53 +02:00
Mateusz Jablonski
bb518adf34 fix: patching payload arguments in inline data in case of indirect kernel
Related-To: NEO-14532
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-04-03 17:21:28 +02:00
Szymon Morek
95e0244f70 fix: properly pass info about 3D image
Related-To: NEO-14538

It's valid for 3D image to copy 2D region.
Current checks for mip map do not consider that.
This change correctly checks for mip mapped 3D image.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-04-03 16:33:57 +02:00
Slawomir Milczarek
7e7e0a000f refactor: Add ioctl helper for context destruction
Related-To: NEO-11817

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2025-04-03 16:08:53 +02:00
Dominik Dabek
be27367020 performance: usm reuse, avoid looking up svmData
Save svmData on putting into reuse, instead of searching each time.
Change UNRECOVERABLE_IF to DEBUG_BREAK_IF.

Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-04-03 15:50:49 +02:00
Jaroslaw Warchulski
c010d17842 fix: respect compression flag in capability table
Related-To: NEO-9465
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-04-03 15:36:55 +02:00
Szymon Morek
6ea83f322d fix: do not override user data beyond slice region
Related-To: NEO-14538

If user passes slice pitch which is larger than region
to copy, do not override memory beyond region but within
that slice pitch.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-04-03 12:37:35 +02:00
Jaroslaw Warchulski
62baf28316 fix: remove unnecesarry WA for DG2 compression
Related-To: NEO-9465
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-04-03 08:04:19 +02:00
Brandon Yates
4651e72b0b fix: Fail device init if kernel debugging is misconfigured
Also print error to stderr

Related-to: GSD-10780

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2025-04-02 21:06:30 +02:00
Filip Hazubski
504440fc4d feature: Add ftrHeaplessMode flag
Pass hwInfo to isHeaplessModeEnabled and isForceBindlessRequired functions.

Related-To: NEO-14526

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2025-04-02 21:06:05 +02:00
Lukasz Jobczyk
deca36fd32 fix: Stop ULLS light when evict resource
Related-To: NEO-14406

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-02 16:37:43 +02:00
Bartosz Dunajski
bb3927531e refactor: reduce HWTEST2_F usage in test_in_order_cmdlist_1.cpp
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-04-02 14:29:12 +02:00
Fabian Zwoliński
7ef3880793 feature: implement pool allocator for gpuTimestampDeviceBuffer
The patch applies to Level Zero.
Only allocations < 2MB will be fetched from the pool.
Allocations are shared and reused within a given device.

Additionally, I added a new debug flag to control the allocator:
EnableTimestampPoolAllocator

Related-To: NEO-12287
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-04-02 14:28:56 +02:00