Commit Graph

533 Commits

Author SHA1 Message Date
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
Bartosz Dunajski d7ce841081 fix: InOrderExecInfo upload to tbx
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-09-20 16:03:09 +02:00
Filip Hazubski beaddb55e0 fix: Minor code changes
Remove needless checks for module and cmdList.
Add explicit check for surfaceState in setArgImageWithMipLevel.
Explicitly initialize WddmResidencyController::csr.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-09-10 13:31:15 +02:00
Mateusz Hoppe 9d5f8eb587 refactor: save hpCopyEngine in Device
- remove loop iteration to get hpCopyEngine

Related-To: NEO-11983

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-09-06 17:56:53 +02:00
Mateusz Jablonski 14fd9f3f24 fix: correct using L0 loader functions
use zelLoaderTranslateHandle for translating handle to internal handle
get pointer to zelSetDriverTeardown during global ctor
don't load loader library by name
get loader function pointers directly from current process

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-04 17:30:25 +02:00
Mateusz Jablonski 43e3957e66 fix: add nullptr check in cache reservation API
in case of AUB/TBX mode there is no os interface

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-03 15:43:35 +02:00
Mateusz Jablonski d45c16dfc2 fix: add fallback for invalid handles in extension functions
handle context, commandlist, driver, device, event, image and kernel handles

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-08-28 17:22:35 +02:00
Mateusz Hoppe 482e077252 feature: add regular and hp contexts in group without dedicated hp engine
- if no hp copy engine available, create group with regular and hp
contexts

Related-To: NEO-11983

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-08-28 14:01:10 +02:00
Mateusz Hoppe ce07b86d87 fix: return valid LP csr from root device
Related-To: NEO-12257

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-08-27 23:33:57 +02:00
Bartosz Dunajski 1795642da9 fix: disallow enabling synchronized dispatch on non-ioq queues
Related-To: HSD-18039265269

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-08-23 19:30:24 +02:00
Mateusz Jablonski 5b51146673 fix: fail L0 device creation when invalid state save area header was delivered
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-08-22 16:24:40 +02:00
Aravind Gopalakrishnan cb8063f71d feature: Append recorded command list into immediate (3/N)
- Use correct stream for dispatch
- Add capability to append signal event
- Check available space globally in immediate append call

Related-To: NEO-10356

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2024-08-16 17:40:28 +02:00