Commit Graph

818 Commits

Author SHA1 Message Date
Chodor, Jaroslaw 2ce694c52b feature: Enabling support for redirecting FCL to IGC for OCLOC
This allows for invoking IGC as OCL C translator in OCLOC paths

Accepted debug env :
NEO_OCLOC_UseIgcAsFcl=1 ; forces IGC
NEO_OCLOC_UseIgcAsFcl=2 ; forces FCL
NEO_OCLOC_UseIgcAsFcl=0 ; use defaults

Related-To: NEO-14473
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-04-15 16:44:35 +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
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
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
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
Dominik Dabek 915d657420 fix: flag to limit usm reuse based on memory usage
Host usm and device usm for igfx checks system memory usage.
Device usm for dgfx checks local memory usage.

If used memory is above limit threshold:
- no new allocations will be saved for reuse
- cleaner will use shorter hold time of 2 seconds
- cleaner will free all eligible allocations, regardless of async
deleter thread having work

Motivation: in case of gfx memory being full, making resident new
allocations will require evictions which leads to massive slowdown on
enqueue calls.
This change aims to minimize cases where extra memory usage from usm
reuse mechanism leads to above situation.

Related-To: NEO-6893, NEO-14160

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-03-27 10:25:19 +01:00
Lukasz Jobczyk 8a85a96ed2 feature: Add 3-level wait scheme with tpause intrinsic
Related-To: NEO-14336

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-21 12:12:57 +01:00
Michal Mrozek 6a9716b81c refactor: remove not needed code
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2025-03-19 14:53:57 +01:00
Jitendra Sharma dda7876d3a feature: Introduce SipClassType::externalLib
Related-To: NEO-13737
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2025-03-19 11:06:03 +01:00
Jack Myers 0e25970853 fix: re-add switch case for once writable query
A change related to the tbx fault manager
incorrectly removed a switch case from
`AubHelper::isOneTimeAubWritableAllocationType`.

This fixes that and refactors some APIs to prevent
similar mistakes from happening again by cleaning
up logic.

Addresses show stopper for pre-si pytorch workflows.

Resolves: NEO-14399
Signed-off-by: Jack Myers <jack.myers@intel.com>
2025-03-19 09:54:54 +01:00
Maciej Bielski a7c46b8213 feature: support L2 cache reservation
Related-To: NEO-12837
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2025-03-17 19:41:55 +01:00
Kamil Kopryk 2c77d2c698 refactor: add SetMaxBVHLevels debug flag
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-03-14 16:59:48 +01:00
Mateusz Hoppe 2f1128fdcd refactor: add consteval to compile time functions in debug manager
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-03-11 09:50:32 +01:00
Jaroslaw Warchulski 413194bd2a Revert "fix: do not prefer image compression on xe_lpg for linux and WSL"
This reverts commit 8814b6ac4f.

Resolves: NEO-14286
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-03-07 11:38:46 +01:00
Dominik Dabek 9eb8e1812c feature: flag to log usm reuse operations
If flag "LogUsmReuse" is set, usm reuse will log operations to csv file.
Each line will contain: timestamp, host/device, operation type,
allocation size, true/false whether operation succeeded.

This data can then be used to produce graphs and help in analyzing
usm reuse in a particular workload.

Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-03-06 11:06:27 +01:00
Szymon Morek 82fba79d9d performance: set 1ms timeout for ulls controller on LNL and PTL
Related-To: NEO-13843

Limit scope to Windows only.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-03-06 09:13:58 +01:00
Kamil Kopryk 4c795027e3 refactor: add check if event L3 flush is needed
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-03-05 18:25:29 +01:00
Compute-Runtime-Validation 98d1d629a8 Revert "feature: Enable defer backing by default"
This reverts commit fffe8f8027.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-03-05 03:35:03 +01:00
Bellekallu Rajkiran fffe8f8027 feature: Enable defer backing by default
Related-To: NEO-13403

Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
2025-03-04 14:29:53 +01:00
Jaroslaw Warchulski 8814b6ac4f fix: do not prefer image compression on xe_lpg for linux and WSL
Related-To: HSD-18034872015
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-02-28 14:20:57 +01:00
Mateusz Jablonski 374863ba08 refactor: remove cl pipe related logic
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-02-25 17:56:53 +01:00
Jitendra Sharma d480cc093c feature: Add method to determine if Sip should be get from external library
Related-To: NEO-13735
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2025-02-25 15:14:54 +01:00
Compute-Runtime-Validation f907c7dcb2 Revert "performance: set 1ms timeout for ulls controller since xe2"
This reverts commit 28c008e438.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-02-24 15:04:54 +01:00
Mateusz Jablonski 3e45cf2a6c feature: add debug key to expose L0 DDI Handles extension
Related-To: NEO-13121, NEO-13917
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-02-20 17:24:33 +01:00
Mateusz Jablonski 70f3342c2d refactor: remove vme specific code
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-02-20 17:08:52 +01:00
Szymon Morek 28c008e438 performance: set 1ms timeout for ulls controller since xe2
Related-To: NEO-13843

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-02-19 13:48:26 +01:00
Filip Hazubski 6b6202446b fix: Add asserts to ensure NonCopyable and NonMovable 3/n
Related-To: NEO-14068

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2025-02-18 17:16:03 +01:00
Chodor, Jaroslaw 8f43be8800 refactor: Enforce constexpr evaluation on getNonReleaseKeyName
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-02-18 16:03:41 +01:00
Jack Myers c26d24e555 fix: tbx page fault manager hang issue
- Updated `isAllocTbxFaultable` to exclude `gpuTimestampDeviceBuffer` from being
faultable.
- Replaced `SpinLock` with `RecursiveSpinLock` in `CpuPageFaultManager` and
`TbxPageFaultManager` to allow recursive locking.
- Added unit tests to verify the correct handling of `gpuTimestampDeviceBuffer`
in `TbxCommandStreamTests`.

Related-To: NEO-13748
Signed-off-by: Jack Myers <jack.myers@intel.com>
2025-02-18 05:05:38 +01:00
Compute-Runtime-Validation b3807e7a36 Revert "feature: Append recorded commandlist into immediate (8/N)"
This reverts commit 9db77efd03.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-02-13 16:35:40 +01:00
Aravind Gopalakrishnan 9db77efd03 feature: Append recorded commandlist into immediate (8/N)
- Add primary dispatch capability for immediate command list
- turn off usage of parent linear stream for copy engine

Related-To: NEO-10356

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2025-02-12 12:39:38 +01:00
Compute-Runtime-Validation 116f7270be Revert "fix: tbx page fault manager hang issue"
This reverts commit 7d4e70a25b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-02-12 10:38:05 +01:00
Jack Myers 7d4e70a25b fix: tbx page fault manager hang issue
- Updated `isAllocTbxFaultable` to exclude `gpuTimestampDeviceBuffer` from being
faultable.
- Replaced `SpinLock` with `RecursiveSpinLock` in `CpuPageFaultManager` and
`TbxPageFaultManager` to allow recursive locking.
- Added unit tests to verify the correct handling of `gpuTimestampDeviceBuffer`
in `TbxCommandStreamTests`.

Related-To: NEO-13748
Signed-off-by: Jack Myers <jack.myers@intel.com>
2025-02-12 02:19:37 +01:00
Szymon Morek 844a934c15 fix: Add debug flag to enable dummy pages
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-02-07 20:25:49 +01:00
Bellekallu Rajkiran 3bef9f886a fix: Crash on over memory allocation
- Add defer backing flag to gem create ioctl
- Make memory resident before lock

Related-To: NEO-13403

Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
2025-02-03 14:29:42 +01:00
Andrzej Koska 1abb48c3e0 Revert "feature: Enable Tile64 Optimization Flag"
This reverts commit 105a586615.

Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
2025-01-28 22:32:58 +01:00
Compute-Runtime-Validation ad99c8d818 Revert "feature: Submission for GlobalTimestamp as default"
This reverts commit 3d3c5ddf9f.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-01-28 11:22:20 +01:00
Dominik Dabek 3f646839ca fix: usm reuse cleaning unused allocations
mechanism for freeing allocations saved for reuse that have not been
used in a given time

Related-To: NEO-13425

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-01-21 14:23:19 +01:00
Chandio, Bibrak Qamar 3d3c5ddf9f feature: Submission for GlobalTimestamp as default
Related-To: NEO-11908

Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
2025-01-18 01:27:24 +01:00
Young Jin Yoon 3d247d75ec feature: disable page fault handler on migration
Disabled RegisterPageFaultHandlerOnMigration by default

Related-To: NEO-11563
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2025-01-16 23:42:09 +01:00
Lukasz Jobczyk 2dd9940f60 Revert "fix: count active modules for enabling per-dispatch private memory"
This reverts commit a483b361f9.

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-01-15 15:03:37 +01:00
Vysochyn, Illia ca72dff1ab feature: Add missing pipelined EU thread arbitration on Xe3
Related-To: NEO-13682

Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
2025-01-15 08:24:43 +01:00
Wenbin Lu a483b361f9 fix: count active modules for enabling per-dispatch private memory
Related-To: NEO-13086

Signed-off-by: Wenbin Lu <wenbin.lu@intel.com>
2025-01-10 15:03:34 +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
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
Compute-Runtime-Validation b83db7ee32 Revert "feature: disable page fault handler on migration"
This reverts commit a258c9b010.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-12-31 03:57:02 +01:00
Young Jin Yoon a258c9b010 feature: disable page fault handler on migration
Disabled RegisterPageFaultHandlerOnMigration by default

Related-To: NEO-11563
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2024-12-30 09:42:52 +01:00
Lukasz Jobczyk 83ebbb01d3 performance: Add flag to mitigate host visible signal in CB events
Related-To: NEO-13441

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-12-24 12:35:55 +01:00