Commit Graph

1503 Commits

Author SHA1 Message Date
Zbigniew Zdanowicz
a95ab1d16b Share pipeline select state updates between regular and immediate command lists
Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-09-26 11:14:53 +02:00
Zbigniew Zdanowicz
fbc91887b8 Add small performance tweak
Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-09-23 18:44:50 +02:00
Zbigniew Zdanowicz
5986a7199a Share front end state updates between regular and immediate command lists
Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-09-23 09:46:35 +02:00
Zbigniew Zdanowicz
e960802e33 Add pipeline select state tracking
This optimization removes pipeline select from command list preamble
and presented to command queue for necessary state update.
Code is disabled by default and available under debug key.

Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-09-23 08:21:00 +02:00
Compute-Runtime-Validation
7aecea534f Revert "Default L0 Function & Global Symbols with fallback build for SPIRv"
This reverts commit 88b7a4f82d.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-09-23 07:07:04 +02:00
Dunajski, Bartosz
98db084b59 Debug flag to append api module build options
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-09-22 16:03:58 +02:00
Dunajski, Bartosz
b2001bf265 L0: GRF mode debug flags support
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-09-22 15:27:31 +02:00
Maciej Plewka
1458602efc Store indirect residency at command queue level
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-09-22 14:07:19 +02:00
Krystian Chmielewski
311b0b0020 Create input for linker during zebin decoding
Remove code duplication. Parsing zebin elf for relocations and symbols
is moved to decodeSingleDeviceBinary.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-09-22 11:12:39 +02:00
Neil R Spruit
88b7a4f82d Default L0 Function & Global Symbols with fallback build for SPIRv
- Enabled default setting of Program & Global Symbols to be generated by
IGC when building L0 Modules with the ability to fallback to previous
behavior thru build failure checks.

- Enabled selective disable of default program or global symbol
generation thru debug variables.

Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2022-09-22 02:40:51 +02:00
Zbigniew Zdanowicz
7832195cd8 Change level zero command queue internal interface for front end programing
Front end estimation use internal loop for command list browsing and
estimation of each command list.
This refactor moves internal loop into external execution, so command list
browsing in loop can be shared by all state commands.
This refactor - sharing loop - will correct performance of each added state
estimator.

Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-09-21 12:12:15 +02:00
Maciej Bielski
56cb1f757b programStateBaseAddress: improve code reuse
Another step towards cleaner callers of
StateBaseAddressHelper<>::programStateBaseAddress.

Export programming state base address into a separate function to
improve code reuse and reduce copy-pasted fragments, which make code
modifications or maintenance more and more difficult over time. Use
specialization for gen-specific variations.

Related-To: NEO-6774
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2022-09-21 11:54:57 +02:00
Compute-Runtime-Validation
643e21631c Revert "Store indirect residency at command queue level"
This reverts commit ffad5c6c09.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-09-20 18:12:12 +02:00
ocldev
47860bbb19 Correct implementation of DeviceImp::releaseResources
Move checking of neoDevice pointer to the beginning of the function.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-09-20 13:41:56 +02:00
Maciej Plewka
ffad5c6c09 Store indirect residency at command queue level
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>

Related-To: NEO-7211
2022-09-19 17:01:20 +02:00
Lukasz Jobczyk
48aab6ce44 Release split objects when destroy last cmd list with split
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-09-19 16:40:41 +02:00
Zbigniew Zdanowicz
065406e222 Do not use heap for command queue command buffer manager
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-09-19 15:24:52 +02:00
Milczarek, Slawomir
0192e8038f Check for GPU hang in path with wait for timestamps
Related-To: NEO-6868

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-09-19 15:01:46 +02:00
Kamil Kopryk
0ce963d84a Remove not needed cmdbuffer memsets
Related-To: NEO-7156
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-09-19 13:48:25 +02:00
Kamil Kopryk
b694a639a3 Move clean leftover memory logic to separate function
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-09-19 12:55:25 +02:00
Zbigniew Zdanowicz
8eaa9d690e add tracking of the state of pipeline select for command lists and queues
This change prepares infrastructure for pipeline select handling in
command lists and queues by optimization of number of commands dispatched.
State is synchronized between flush-task immediate and regular command lists.
Next step is to add optimization itself which disables legacy hw command
dispatch algorithm.
This change corrects ADL-P support for systolic mode changes.

Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-09-19 11:57:34 +02:00
Lukasz Jobczyk
934939c8b6 Add split implementation for append page fault copy
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-09-19 11:47:29 +02:00
Dominik Dabek
52ae228535 Add missing unit test
Missing ult for isDebuggerActive
Move inline function to .inl file

Related-To: NEO-7003

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-09-16 15:55:03 +02:00
Zbigniew Zdanowicz
357514a4e4 make single function overriding driver state using debug key
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-09-16 11:34:05 +02:00
Zbigniew Zdanowicz
218a98f7f7 Refactor of pipeline select programming
Adding new interface to cooperate with hw context state
Simplify programming removing unnecessary functions
Code optimization that stop using expensive call and instead
stores configuration parameter

Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-09-15 15:38:10 +02:00
Lukasz Jobczyk
3d4b4b5746 Add bcs split implementation for memory copy region
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-09-15 11:27:41 +02:00
Szymon Morek
ec619f4259 Set event as completed after host signal
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-09-14 15:10:14 +02:00
Szymon Morek
a91c3a13a4 [XE_HPC][L0] Allocate all events in local memory
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-09-14 13:21:51 +02:00
Patryk Wrobel
f6bf669ee9 Use forward declarations in compression_selector.h
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-09-14 11:54:24 +02:00
Zbigniew Zdanowicz
03e5ec937d Reuse code retrieving correct engine type for ordinal argument
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-09-14 11:28:29 +02:00
Maciej Bielski
0d0d6a300e Debugger: simplify captureStateBaseAddress()
So far captureStateBaseAddress() was a wrapper around
programSbaTrackingCommands(), doing an additional checking before
calling the latter. The checking is apparently no longer relevant, so
unify the distinction and remove part of the code which is no longer
needed.

In practice, keep the captureStateBaseAddress() while moving the body of
programSbaTrackingCommands() into it. This imposes lower diff-impact
onto the class hierarchy. Remove the second function. Simplify the
caller which had to distinct these two functions previously.

Related-To: NEO-6774
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2022-09-13 17:08:31 +02:00
Lukasz Jobczyk
8160a59f2f Enable bcs split in L0
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-09-13 14:48:00 +02:00
Szymon Morek
5137b70658 Don't read event memory if signaled state is true
Related-To: NEO-7302

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-09-13 14:34:44 +02:00
Lukasz Jobczyk
88fe22fc49 Split transfers greater than 4MB in L0
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-09-13 13:53:38 +02:00
Maciej Bielski
e1b80ba1a8 Cleanup: updateStreamProperties(), SBA tracking
Fixes found out while working on the StateBaseAddress adaptation to
StreamProperties. Removing unused parameters, improving code reuse
(further improvements come with following commits).

Related-To: NEO-6774
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2022-09-12 17:56:28 +02:00
Lukasz Jobczyk
28e6504d41 Add event management to L0 bcs split
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-09-12 16:02:15 +02:00
Zbigniew Zdanowicz
072686f283 Replace function term with kernel class specific names
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-09-12 12:00:24 +02:00
Zbigniew Zdanowicz
af7eaa0161 add linked copy engine to copy engines group in command list creation
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-09-12 11:21:58 +02:00
Lukasz Jobczyk
63e72965a1 Add initial BCS split implementation for L0
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-09-12 10:48:30 +02:00
Kamil Kopryk
fad4bee432 Fill leftover cmdbuffer space with MI_NOOPs in debugger and sw tag paths
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-7156
2022-09-12 10:48:13 +02:00
Szymon Morek
48a3cf4b75 Revert "Allocate all event pools in local memory"
This reverts commit 8aa87a6f8109223d61c5d41214331ffc12659295.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-09-10 01:08:57 +02:00
Mateusz Hoppe
dd7967a05d L0Debug - account for device bitfield
- converting physical/api thread ids should account for
devicebitfield
- debug events for ISA filtered - skip events for not
relevant tiles

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-09-09 13:03:06 +02:00
Dominik Dabek
7fa9cfd7fc Add missing cache policy isDebuggerActive values
Cache policy was not kept as WBP in some cases with debugger

Related-To: NEO-7003

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-09-09 10:38:41 +02:00
Lukasz Jobczyk
d0caa223cd Prepare command list for BCS split
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-09-08 19:54:03 +02:00
Lukasz Jobczyk
4bd27e4d3e Store context handle in cmd list
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-09-08 19:32:47 +02:00
Patryk Wrobel
340b578248 Use correct destination size when copying device name
This change:
- corrects the size of destination buffer and sets it to ZE_MAX_DEVICE_NAME
- ensures that copied name is null-terminated

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-09-08 17:01:38 +02:00
Kacper Nowak
710c8cf5ef Linker: add support for symbols with local binding
This commits add support for relocating
symbols with local binding and of functional type
(STB_LOCAL, STT_FUNC).

Related-To: NEO-7299
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-09-08 14:50:29 +02:00
Kamil Kopryk
3223a0bace Correct linear stream size estimation - dispatch task count post sync
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-7156
2022-09-07 13:29:35 +02:00
Zbigniew Zdanowicz
b6e2d2df8b Add multi return points command lists for front end reconfiguration
This change gives fine grain control over front end configuration for each
kernel.
As it gives possible to inject FE command in command queue and return to exact
place in command list.
Programming commands in queue makes patching commands in command lists
not needed as that operation is costly.
And it allows to program context information for each command list too.

Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-09-07 12:53:24 +02:00
Szymon Morek
3bb12ad10a Allocate all event pools in local memory
Currently event pools are allocated in system
memory if HOST_VISIBLE flag is being set.
With this change such event pool will be
allocated in device memory if DC flush is not
allowed.

Related-To: NEO-7302

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-09-06 17:17:32 +02:00