Commit Graph

221 Commits

Author SHA1 Message Date
Compute-Runtime-Validation
32a99b0667 Revert "fix: Check if provided CCS number is correct"
This reverts commit d367b702db.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-12-04 06:04:22 +01:00
Kindracki, Jakub Tomasz
d367b702db fix: Check if provided CCS number is correct
Check if `ZEX_NUMBER_OF_CCS` env variable provided by the user is
correct. If it isn't, then return false and print debug message.

If provided `ZEX_NUMBER_OF_CCS` is bigger than allowed, then nothing
happens and program continues execution.

After this change if `zeInit` is called with invalid
`ZEX_NUMBER_OF_CCS`, then it fails with `ZE_RESULT_ERROR_UNINITIALIZED`.

Related-To: NEO-15230, GSD-11251
Signed-off-by: Kindracki, Jakub Tomasz <jakub.tomasz.kindracki@intel.com>
2025-12-03 12:32:45 +01:00
Jaroslaw Warchulski
cc79a136c9 refactor: do not use C headers
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-11-25 12:07:50 +01:00
Kamil Kopryk
56b30d1803 feature: redesign host function workers
Each host function gets its unique ID within a CSR,
uses 1 mi store to write ID - to signal that host function is ready,
and 1 mi semaphore wait will wait for the ID to be cleared,
Use 0th bit from ID as pending/completed flag,
host function ID is incremented by 2, and starts with 1.
So each ID will always have 0bit set.
This is a must have since semaphore wait can wait for 4 bytes only.

Adjust command buffer programming and patching logic to IDs.

Add hostFunction callable class - using invoke method,
which stores required information about callback.

Add host function streamer - stores all host function data
for a given CSR.
All user provided host functions are stored in unordered map,
where key is host function ID.

Add host function scheduler, and a thread pool - under debug flag
Single threaded scheduler loops over all registered host function streamers,
dispatch ready to execute host functions to thread pool.

Allow for out of order host functions execution for OOQ - under debug flag,
each host function has bool isInOrder flag which indicates if it can be
executed Out Of Order - in this mode, ID tag will be cleared immediately,
so semaphore wait will unblock before the host function execution.

Remove Host Function worker CV and atomics based implementation.

Rename classes

Related-To: NEO-14577
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-11-25 08:05:41 +01:00
Compute-Runtime-Validation
4437360448 Revert "fix: Check if provided CCS number is correct"
This reverts commit 67963bed4b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-11-12 12:12:33 +01:00
Kindracki, Jakub Tomasz
67963bed4b fix: Check if provided CCS number is correct
Check if `ZEX_NUMBER_OF_CCS` env variable provided by the user is
correct. If it isn't then return false and print debug message.

After this change if `zeInit` is called with invalid
`ZEX_NUMBER_OF_CCS`, then it fails with `ZE_RESULT_ERROR_UNINITIALIZED`.

Related-To: NEO-15230, GSD-11251
Signed-off-by: Kindracki, Jakub Tomasz <jakub.tomasz.kindracki@intel.com>
2025-11-06 17:23:20 +01:00
Compute-Runtime-Validation
fc62e025d2 Revert "fix: Check if provided CCS number is correct"
This reverts commit 94be8023dc.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-10-31 08:40:51 +01:00
Kindracki, Jakub Tomasz
94be8023dc fix: Check if provided CCS number is correct
Check if `ZEX_NUMBER_OF_CCS` env variable provided by the user is
correct. If it isn't then return false and print debug message.

Related-To: NEO-15230, GSD-11251
Signed-off-by: Kindracki, Jakub Tomasz <jakub.tomasz.kindracki@intel.com>
2025-10-30 16:00:55 +01:00
Dominik Dabek
f126203df3 fix: earlier stopping of usm reuse cleaner thread
Usm cleaner needs to stop before usm reuse cleanup.

Related-To: HSD-18043613805

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-10-14 18:18:52 +02:00
Chodor, Jaroslaw
9c3d9d803f feature: Support for OCL C in L0 runtime
Prototype support for OCL C in L0 runtime
Can be used with zeModuleCreate and ze_module_format_t=3

Related-To: GSD-11827

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-10-10 19:06:32 +02:00
Dominik Dabek
17199556ca performance: lazy start usm reuse cleaner thread
Delay starting usm reuse cleaner thread to first allocation reuse.

Related-To: HSD-16028754950

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-10-07 13:29:10 +02:00
Maciej Plewka
cf35f8b40e fix: wa for multi ccs execution on bmg
Related-To: NEO-15771
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2025-09-24 18:15:07 +02:00
Jaroslaw Warchulski
195bf66a49 refactor: fix typos
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-09-22 12:46:41 +02:00
Alicja Lukaszewicz
0335d44a56 refactor: move peer access handling to shared device
Related-To: NEO-14885, HSD-14024947073

Signed-off-by: Alicja Lukaszewicz <alicja.lukaszewicz@intel.com>
2025-08-19 10:40:41 +02:00
Kindracki, Jakub Tomasz
a73d5724e3 feature: Return insufficient permissions when driver device cannot be loaded
Return ZE_RESULT_ERROR_INSUFFICIENT_PERMISSIONS when user doesn't have
permissions to access the GPU driver device file.

Related-To: NEO-8682
Signed-off-by: Kindracki, Jakub Tomasz <jakub.tomasz.kindracki@intel.com>
2025-07-28 16:31:07 +02:00
Mateusz Hoppe
703497b067 fix: read ONEAPI_PVC_SEND_WAR_WA env
- disable optimization with compiler internal option when env is set to
zero

Related-To: NEO-15378, GSD-10884

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-07-09 16:22:18 +02:00
Aleksander Czerwionka
27920bb645 fix: check if aubCenter exists before using setCCSMode
Related-To: NEO-15423

Signed-off-by: Aleksander Czerwionka <aleksander.czerwionka@intel.com>
2025-07-08 10:38:57 +02:00
Compute-Runtime-Validation
8086c2a96f Revert "fix: check if aubCenter exists before using setCCSMode"
This reverts commit d670e66caa.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-07-05 03:43:34 +02:00
Aleksander Czerwionka
d670e66caa fix: check if aubCenter exists before using setCCSMode
Related-To: NEO-15423

Signed-off-by: Aleksander Czerwionka <aleksander.czerwionka@intel.com>
2025-07-02 15:51:40 +02:00
Aleksander Czerwionka
6acf58633d fix: set correct CCS mode in Aubstream and reenable multi context tests
Related-To: NEO-14917

Signed-off-by: Aleksander Czerwionka <aleksander.czerwionka@intel.com>
2025-07-01 15:18:11 +02:00
Szymon Morek
af6ac59a40 Revert "fix: Override timestamp width from KMD"
This reverts commit 7f2b806413.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-06-30 16:10:01 +02:00
Aleksandra Nizio
62739986bf fix: print error in sim mode without available aubstream
Resolves: NEO-14693

Signed-off-by: Aleksandra Nizio <aleksandra.nizio@intel.com>
2025-05-05 11:48:35 +02:00
Mateusz Hoppe
41efee1e7c feature: add mode to expose single root device
- simplify API to expose and use only single root device. Disallow
returning subdevices. This is experimental mode.

Related-To: NEO-14559

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-04-25 13:20:56 +02:00
Lukasz Jobczyk
f7939735da refactor: Adjust USM cleaner to ULLS light
Related-To: NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-15 14:05:02 +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
Mateusz Hoppe
c105c77930 fix: calculation of os context count
Related-To: NEO-12952

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-03-28 09:55:17 +01:00
Lukasz Jobczyk
b43b23b6ed fix: Init wait utils after hwInfo init for both OS
Resolves: HSD-18041922513

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-27 16:45:22 +01: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
60b551758c performance: Adjust waitpkg threshold for discrete devices
Related-To: NEO-14336

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-26 14:59:19 +01:00
Dominik Dabek
6e998fc3c1 fix: move host usm reuse max size to mem manager
Intialize value on memory manager creation.

Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-03-24 08:53:30 +01:00
Lukasz Jobczyk
7c75807987 performance: Enable waitpkg with tpause
Resolves: NEO-14336

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-21 17:30:55 +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
Aravind Gopalakrishnan
724ba20e41 fix: Parse CCS mode setting for non PVC platforms
Related-To: GSD-8785

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2025-03-19 12:47:46 +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
Compute-Runtime-Validation
5f7f0dd785 Revert "performance: Enable waitpkg"
This reverts commit 8ec5434460.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-03-18 13:28:29 +01:00
Compute-Runtime-Validation
d54b74e8bd Revert "fix: Parse CCS mode setting for non PVC platforms"
This reverts commit 5ca78dfdd1.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-03-17 00:30:44 +01:00
Aravind Gopalakrishnan
5ca78dfdd1 fix: Parse CCS mode setting for non PVC platforms
Related-To: GSD-8785

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2025-03-15 01:39:51 +01:00
Lukasz Jobczyk
8ec5434460 performance: Enable waitpkg
Resolves: NEO-14336

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-11 14:43:01 +01:00
Lukasz Jobczyk
53062056ec performance: Enable wait pkg for ULLS light
Related-To: NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-07 12:18:38 +01:00
Lukasz Jobczyk
20d29207cd refactor: Allow debug key to force USM cleaner with ULLS light
Related-To: NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-02-26 17:52:18 +01:00
Bellekallu Rajkiran
ff9d0d7ea0 fix: fix setting up ccs mode
Related-To: NEO-14122

Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
2025-02-18 17:10:51 +01:00
Kamil Kopryk
899abf3aac feature: add NonCopyableOrMovable and NonCopyable concepts
Inheriting from NonCopyableOrMovableClass or NonCopyableClass
does not prevent derived classes from accidentally defining
their own copy or move constructors, violating the intended design.

This commit introduces two concepts:
- NonCopyableOrMovable
- NonCopyable

Using static asserts with these concepts will guarantee the intended
copy and move limitations.

Related-To: NEO-14068
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-02-14 03:55:50 +01:00
Mateusz Hoppe
6e35d055f2 feature: make contextGroupSize dependent on number of processes
Related-To: NEO-12952

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-02-03 18:13:33 +01:00
Mateusz Hoppe
e00da808cb feature: add logic to control secondaryContextsSupport in ProductHelper
- product helper sets flag in GfxCoreHelper - this allows to control
secondary contexts support per product - not whole core family

Related-To: NEO-13789

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-01-25 06:43:56 +01:00
Lukasz Jobczyk
c0838e1f76 fix: Apply dispatch all for small TG only on BMG
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-01-22 13:04:44 +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
Chodor, Jaroslaw
5619da6238 feature: Adding hook for applying OpenVino-related AIL
Related-To: NEO-12747

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-01-20 17:38:49 +01:00
Lukasz Jobczyk
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
Jaroslaw Warchulski
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
Compute-Runtime-Validation
242a31a024 Revert "refactor: remove excess cast to C-string and add const reference"
This reverts commit 34ee40393f.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-01-15 02:43:40 +01:00