Commit Graph

544 Commits

Author SHA1 Message Date
Mateusz Jablonski
3438a14fc4 refactor: remove not used function
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-04-30 17:10:20 +02:00
Mateusz Jablonski
da7bcef07c feature: allow to create immediate commandlist without specifying descriptor
created command list will take default descriptor which points to:
- ordinal 0
- index 0
- in-order-execution
- asynchronous execution
- normal scheduling priority
- copy offload hint enabled

Related-To: NEO-14560
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-04-29 15:14:55 +02:00
Dominik Dabek
75e313ce28 feature: prepare for l0 usm device pooling
Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-04-28 14:55:03 +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
Mateusz Jablonski
0dd2535674 refactor: change type of stype member in L0 Core driver extensions
use uint32_t-alias type to avoid casting out of ze_structure_type_t enum range
Related-To: NEO-12901

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-04-18 15:02:31 +02:00
Mateusz Hoppe
990fa0d8a9 fix: assign secondary contexts from correct device
- for root device, copy engines from subdevice are used, secondary
contexts must be selected from subdevice in this case

- return low priority BCS from subdevice

Related-To: NEO-14559

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-04-18 10:55:39 +02:00
Fabian Zwoliński
ee769f5983 fix: Add texture cache flush after kernels writing to images on imm cmdlists
- add `hasImageWriteArg` flag to KernelDescriptor,
based on image access qualifier
- add `isPostImageWriteFlushRequired` method to productHelper,
to require cache flush only on selected platforms
- if possible, add the `textureCacheInvalidationEnable` arg to the
existing PC, otherwise add a new PC

Related-To: NEO-13427, HSD-18041321008
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-04-17 16:04:31 +02:00
Zbigniew Zdanowicz
cf7209ddfe refactor: change queue and immediate command list to accept indirect lock
Related-To: NEO-10356

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2025-04-11 13:45:29 +02:00
Mateusz Jablonski
2394f9fd91 feature: update base layout of L0 handles to match ze_handle_t layout
this layout is required by L0 DDI Handle extension

Related-To: NEO-13121, NEO-13917
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-03-28 14:40:20 +01:00
Jaroslaw Warchulski
f760731173 fix: correct queryFabricStats in WSL path
Related-To: GSD-10939
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-03-28 14:23:48 +01:00
Szymon Morek
3fff3dd77b fix: set misaligned source memory 1-way coherent
Related-To: NEO-14443

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-03-28 14:16:45 +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
Aravind Gopalakrishnan
642bdd122e feature: Add support for d3d11 texture handle types for import and export
Related-To: NEO-14329

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2025-03-11 09:08:44 +01:00
Zbigniew Zdanowicz
cae3bb1d0a feature: add internal interfaces to manage all dispatch models of command lists
- add new enum type for command list flush from immediate
- add new argument for flushing immediate command list - regular command list
- add capability to provide additional stream for epilogue commands
- add pointer to provide external csr mutex to lock both execution and flush

Related-To: NEO-10356

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2025-02-28 12:02:22 +01:00
Compute-Runtime-Validation
9785e5c11e Revert "feature: update base layout of L0 handles to match ze_handle_t layout"
This reverts commit 276c606329.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-02-26 02:37:14 +01:00
Mateusz Jablonski
276c606329 feature: update base layout of L0 handles to match ze_handle_t layout
this layout is required by L0 DDI Handle extension

Related-To: NEO-13121, NEO-13917
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-02-25 01:23:43 +01:00
Mateusz Hoppe
24ed89ed24 refactor: simplify debug attach capability detection
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-02-21 12:10:40 +01:00
Filip Hazubski
4c7900008f refactor: Change wording from NonCopyableOrMovable to NonCopyableAndNonMovable
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2025-02-17 14:19:10 +01:00
Maciej Bielski
6924a48ca6 refactor: prepare CLOS logic for extension
Prepare cache setup and reservation logic to be extended w.r.t other
cache-levels.

Conceptually this change is like adding a switch-statement, in several
places, in which existing code makes a single (and only) case. This is
caused by splitting larger development to ease the review. Further cases
will be added in following steps. Such approach sometimes creates code
which may seem redundant but it is meant to simplify plugging following
extensions in an easy way.

Related-To: NEO-12837
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2025-02-17 10:43:08 +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
Marcel Skierkowski
fcb59152ba refactor: Correct status return in getExternalMemoryProperties
In TBX mode, getExternalMemoryProperties was returning an incorrect status
The status returns have been corrected to ensure proper functionality.

Related-To: HSD-18041313876
Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
2025-02-06 17:21:33 +01:00
Maciej Bielski
a8779c2387 fix: report ZE_MEMORY_ACCESS_CAP_FLAG_CONCURRENT correctly
At the moment the capability is returned only based on the value
returned by the `productHelper`, which is too liberal. The capability
must also consider the support reported by `memoryManager`. Only then
the support reported is aligned with actual logic of handling
USM-allocations.

Related-To: NEO-10040
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2025-01-29 00:17:38 +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
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
Katarzyna Cencelewska
b2f8da5109 fix: return pointer instead of reference from getOsInterface
on tbx this will be a nullpointer

Related-To: HSD-18040897834
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2025-01-21 12:52:39 +01:00
Mateusz Jablonski
468b61b844 fix: correct reporting num subslices per slice in device properties
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-01-20 21:37:53 +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
Jaroslaw Warchulski
c3c2028ed6 fix: report correct EU counts for multi-slice platforms
Related-To: GSD-10625
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-01-17 15:01:00 +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
Jaroslaw Warchulski
4cdd5671f7 fix: return correct subDevice in DeviceImp::getActiveDevice()
Resolves: NEO-13759
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-01-16 00:10:58 +01:00
Jaroslaw Warchulski
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
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
Bartosz Dunajski
db3f268a97 refactor: reorganize l0 api include directories [2/n]
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-12-20 17:16:53 +01:00
Bartosz Dunajski
47f74b8a7b refactor: reorganize l0 api include directories [1/n]
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-12-20 12:59:08 +01:00
Compute-Runtime-Validation
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
Lukasz Jobczyk
085988c5e9 performance: Signal inOrder counter with pipe control
When on DC flush platform signal inOrder counter directly with pipe
control. Skip not needed inOrder timestamp with its reset and semaphore.
Currently only for non profiling immediate cmd list case.

Related-To: NEO-13441

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-12-19 08:02:56 +01:00
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
Bartosz Dunajski
b1dea19fbd refactor: move tag initialization to allocator [1/n]
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-12-17 17:53:13 +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
Chandio, Bibrak Qamar
8cf4804fcd fix: Overhead in zeDeviceGetGlobalTimestamps
Related-To: NEO-11908

There is overhead when submission method is used for
zeDeviceGetGlobalTimestamps. This fixes it.

Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
2024-12-12 08:54:19 +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
Chandio, Bibrak Qamar
ab2e831a4a fix: zeDeviceGetGlobalTimestamp to use submisison
Related-To: GSD-10253, GSD-9467, GSD-9381, NEO-11908

When EnableGlobalTimestampViaSubmission is set then
zeDeviceGetGlobalTimestamp uses immediate cmd submission
method to get GPU time.

Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
2024-12-04 19:10:07 +01:00
shubham kumar
69f81d5d57 fix: Check for root device flag in multi-device usecase
Related-To: NEO-12381

Signed-off-by: shubham kumar <shubham.kumar@intel.com>
2024-12-03 07:03:39 +01:00
Bartosz Dunajski
c6accb8d53 fix: select correct CSR for submission if copy offload is not allowed
Related-To: GSD-10194

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-11-29 11:41:53 +01:00
Bartosz Dunajski
7bf22ed33e feature: counter based allocation peer sharing
Related-To: NEO-13079

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-11-13 15:01:32 +01:00
Bartosz Dunajski
2d6fb1af4b fix: in-order relaxed ordering handling for signalEvent
Related-To: NEO-13082

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-10-25 15:30:33 +02:00
Mateusz Jablonski
8fbe873e1b build: correct setting for i915/xe prelim setting in package scripts
rename i915 flag to uppercase, for consistency
disable i915 / xe prelim by default in package scripts

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-10-09 15:55:59 +02:00
Brandon Yates
013c49db02 fix: change getBindlessDebugSipKernel to also get heapless sip
Rename function to getDebugSipKernel and select either bindless
or heapless depending on mode

Related-to: NEO-8396

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-10-03 20:47:40 +02:00
Bartosz Dunajski
b8fd1bda36 feature: use sysInfo helper to detect memory type
Related-To: NEO-12807

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-09-30 18:19:42 +02:00
Bartosz Dunajski
2618f586fa fix: copy offload mmio programming
Related-To: NEO-12771

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-09-24 19:37:58 +02:00