Commit Graph

572 Commits

Author SHA1 Message Date
Lukasz Jobczyk
4010ff6908 performance: Use tag allocator for fill pattern
Resolves: NEO-9729

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-06-30 15:24:08 +02:00
Bartosz Dunajski
78c6751be1 feature: initial support for multitile bcs split
Related-To: NEO-14557

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-06-30 12:38:58 +02:00
Bartosz Dunajski
72532d035e feature: marker event support for aggregated bcs split
Related-To: NEO-14557

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-06-26 12:18:16 +02:00
Zbigniew Zdanowicz
442c11b5ba feature: add mutable command list implementation
Related-To: NEO-10492

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2025-06-25 16:32:08 +02:00
Neil R. Spruit
532c663da6 feature: Add Initial Support for Get Vector Width Properties
- Added support for L0 to query Vector Width Properties which allows for
querying all the supported vector widths and their prefferred and
native vector widths per data type.
- Updated shared code to support querying the same values thru
getPreferredVectorWidth* and getNativeVectorWidth* helper functions
for OpenCL and Level Zero.
- Initial support for reporting base values for the vector
widths with future support for reporting different values per platform and
based on the SIMD/SIMT size used.

Related-To: NEO-13745

Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
2025-06-25 01:11:30 +02:00
Bartosz Dunajski
de8f98b43e feature: initial support for aggregated bcs split
Related-To: NEO-14557

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-06-23 16:20:14 +02:00
Neil R. Spruit
dd63a48dfe feature: Support for Level Zero Device Cache Line Size Extension
Related-To: NEO-1324

Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
2025-06-18 22:02:01 +02:00
Mateusz Jablonski
be924edf3d fix: correct exposing shared cross device alloc capabilities
support depends on kmd capabilities and debug key

Related-To: NEO-14938
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-06-18 12:57:07 +02:00
Mateusz Jablonski
de57a3f3dd fix: correct setting p2p atomics property
p2p atomics flag should be set based on info queried from fabric

Related-To: NEO-14938
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-06-17 13:36:16 +02:00
Mateusz Jablonski
0a8248fc9f fix: expose P2P property access flag based on canAccessPeer result
simplify case with same root device indices

Related-To: NEO-14938
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-06-16 15:47:01 +02:00
Mateusz Jablonski
f165e713a5 fix: cache canAccessPeer result of each pair of devices
query peer access only once per pair of devices

Related-To: NEO-14938

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-06-16 12:04:08 +02:00
Bartosz Dunajski
9fc244c83a refactor: remove not needed imm cmd list flush task code
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-06-16 08:59:51 +02:00
Mateusz Jablonski
d842363c8b refactor: remove not needed function
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-06-13 17:21:48 +02:00
Mateusz Jablonski
c01ef3d9ad refactor: remove redundant exec environment pointer from L0::DeviceImp
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-06-10 22:10:02 +02:00
Compute-Runtime-Validation
523bd92db4 Revert "refactor: remove redundant exec environment pointer from L0::DeviceImp"
This reverts commit c7893fb3ed.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-06-10 10:04:06 +02:00
Mateusz Jablonski
c7893fb3ed refactor: remove redundant exec environment pointer from L0::DeviceImp
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-06-09 12:03:58 +02:00
Zbigniew Zdanowicz
b6018010c4 refactor: add option to skip to add to residency event external allocation
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2025-06-06 15:55:03 +02:00
Mateusz Jablonski
13a5e90124 refactor: split definitions from cmdlist_launch_params.h
Moving defintion of:
- CmdListKernelLaunchParamsExt to cmdlist_launch_params_ext.h
- CopyOffloadMode to copy_offload_mode.h
- MemoryCopyParams to cmdlist_memory_copy_params.h
- CommandToCopy to command_to_copy.h

Store LaunchParamsExt as non-pointer member of CmdListKernelLaunchParams

Related-To: NEO-14560
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-05-30 17:39:35 +02:00
Krzysztof Sprzaczkowski
b0db130df8 fix: Add coverage for all memory types in L0 API
Related-To: NEO-12807
Signed-off-by: Krzysztof Sprzaczkowski <krzysztof.sprzaczkowski@intel.com>
2025-05-29 17:35:50 +02:00
Bartosz Dunajski
9c19e9eb96 fix: enable single temporary allocations list mode 2
Related-To: NEO-14641

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-05-27 17:35:17 +02:00
Mateusz Jablonski
98bf872fdd fix: return error when cannot obtain debug surface size
remove default max debug surface size
check state save area size only for debug scenarios
reduce state save area size in unit tests - rely on values from mock

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-05-23 14:48:08 +02:00
Bartosz Dunajski
efbf505744 refactor: pass additional flag to getDefaultCopyOffloadMode method
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-05-23 14:26:29 +02:00
Mateusz Hoppe
0d57dcfdf0 feature: add L0 API querying priority levels - zeDeviceGetPriorityLevels()
Related-To: NEO-14572

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-05-23 09:24:16 +02:00
Chodor, Jaroslaw
a97563bf48 feature: Adding mechanism for overriding exposed device IP version
Related-To: GSD-10248

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-05-22 11:59:26 +02:00
Bartosz Dunajski
7f7aa36c52 feature: allow enabling copy offload on default cmd list
Related-To: NEO-7067

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-05-19 13:28:46 +02:00
Mateusz Jablonski
041f879e64 refactor: correct location of definition of new L0 API functions
L0 API functions have two definitions, internal and external:
- internal definition is in L0 namespace
- external defintion is in extern C scope and points to internal definition

Below API functions are corrected within this change:
- zeDriverGetDefaultContext
- zerDriverGetDefaultContext
- zerDeviceTranslateToIdentifier
- zerIdentifierTranslateToDeviceHandle
- zeDeviceSynchronize

Related-To: NEO-14560
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-05-14 12:20:00 +02:00
Bartosz Dunajski
2782577f1d feature: allow enabling copy offload for regular cmd lists
Related-To: NEO-7067

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-05-08 12:37:55 +02:00
Mateusz Jablonski
07f13fc319 feature: add L0 API to translate between device handle and 32-bit identifier
- zerDeviceTranslateToIdentifier to translate from device handle to
32-bit unsigned integer identifier
- zerIdentifierTranslateToDeviceHandle to translate from identifier to
device handle associated to default driver handle

Related-To: NEO-14560
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-05-05 15:20:44 +02:00
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