Commit Graph

79 Commits

Author SHA1 Message Date
Dunajski, Bartosz
3f962bf3e8 RelaxedOrdering: Improve dependencies tracking
Avoid not needed scheduler programming
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-11-28 16:00:21 +01:00
Dunajski, Bartosz
bc619fcbec Queue stall mode for RelaxedOrdering
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-11-23 12:09:52 +01:00
Dunajski, Bartosz
bc5d9d149d Task VA tracking for RelaxedOrdering mode
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-11-21 17:35:08 +01:00
Kamil Kopryk
08d4e57cb3 Move L0HwHelper ownership to RootDeviceEnvironment 5/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>

Use RootDeviceEnvironment getHelper<L0CoreHelper> for
- enableFrontEndStateTracking
- enablePipelineSelectStateTracking
- enableStateComputeModeTracking
- enableImmediateCmdListHeapSharing
- platformSupportsCmdListHeapSharing
- platformSupportsStateComputeModeTracking
- platformSupportsFrontEndTracking
- platformSupportsPipelineSelectTracking
2022-11-18 14:42:53 +01:00
Szymon Morek
a66e69abc9 Prealloc cmd buffer for CSR only when being used
Related-To: NEO-7361

Currently additional command buffer is
preallocated for all CSRs, even for those which
won't be used by application. This PR changes that

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-11-15 20:06:29 +01:00
Warchulski, Jaroslaw
6cbb3cfb05 Cleanup includes 3
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-07 14:52:31 +01:00
Maciej Plewka
8a9ea9afd7 Make migration for indirect allocations
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-11-02 14:53:14 +01:00
Zbigniew Zdanowicz
63df08664a change interface to enable tracking of other n-p state commands per platform
Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-10-10 12:50:40 +02:00
Lukasz Jobczyk
b21fef96cb Wait for events from host
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-10-10 12:12:13 +02:00
Zbigniew Zdanowicz
0270e0f8a5 Add interface to enable state compute mode tracking per platform
Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-10-07 09:55:03 +02:00
Zbigniew Zdanowicz
f0888fece2 Rename command list tracking debug flag and variables
This change reflects exact nature of debug variable and what is code
actually doing

Related-To: NEO-7187

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-09-26 18:59:39 +02:00
Zbigniew Zdanowicz
57d35c8932 Add state compute mode tracking
Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-09-26 14:36:37 +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
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
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
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
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
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
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
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
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
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
Mateusz Hoppe
4da6f65d1a L0Debug - Notify cmdQueue create for subdevices
- PROCESS ENTRY triggered for first cmdQ created

Related-To: NEO-5784
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-07-22 16:08:41 +02:00
Compute-Runtime-Validation
5199ea257d Revert "L0Debug - Notify cmdQueue create for subdevices"
This reverts commit ebcb3faad2.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-07-21 18:50:20 +02:00
Mateusz Hoppe
ebcb3faad2 L0Debug - Notify cmdQueue create for subdevices
- PROCESS ENTRY triggered for first cmdQ created

Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-07-20 15:13:06 +02:00
Mateusz Hoppe
5956aea18d Limit header includes from level_zero device.h
- remove including debugger_l0.h from device.h
- add getL0Debugger() to shared NEO Device

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-07-06 16:41:17 +02:00
John Falkowski
620bb970f4 Resubmit fix for task count hang
Signed-off-by: John Falkowski <john.falkowski@intel.com>
2022-06-07 16:28:17 +02:00
Mateusz Jablonski
747c2d3d83 Cleanup includes in cmdlist, cmdqueue, context, device, driver and module
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-03 02:54:41 +02:00
Mateusz Jablonski
2a4c68dc38 Remove not needed dependencies from device_imp.h
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-02 18:35:34 +02:00
Jaime Arteaga
359e848dbe Revert "Fix for task count hang issue"
This reverts commit 340ba8bf56.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-05-25 20:34:00 +02:00
John Falkowski
340ba8bf56 Fix for task count hang issue
Signed-off-by: John Falkowski <john.falkowski@intel.com>
2022-05-18 19:35:12 +02:00
Mateusz Jablonski
b5b8762faf refactor direct submission: Pass command stream receiver to ctor
Related-To: NEO-6643

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-04-19 23:02:55 +02:00
Patryk Wrobel
19dded25ef Detect GPU hang in remaining calls of command queue and list
This change introduces checking of waits status in
CommandQueue and CommandList classes.

Related-To: NEO-6681
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-04-11 13:31:44 +02:00
Lukasz Jobczyk
a230f267e1 Poll task count indefinitely on high throttle command queue
Resolves: NEO-6781

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-25 10:06:16 +01:00
Patryk Wrobel
7f729b7f89 Detect GPU hang in clWaitForEvents
This change:
- moves NEO::WaitStatus to a separate file
- enables detection of GPU hang in clWaitForEvents
- adjusts most of blocking calls in CommandStreamReceiver to return WaitStatus
- adds ULTs to cover the new code

Related-To: NEO-6681
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-02-23 13:33:09 +01:00
Igor Venevtsev
60d6505932 L0 debugger - reports process ENTER/EXIT events for zeCommandQueues
- PROCESS_ENTRY - triggered by first zeCommandQueueCreate()
- PROCESS_EXIT  - triggered by last zeCommandQueueDestroy()

Resolves: NEO-6503

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-02-16 16:28:33 +01:00
Bartosz Dunajski
4b0d986876 Move AllocationType enum out of GraphicsAllocation class
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-02-04 17:49:09 +01:00
Patryk Wrobel
498cf5e871 Implement GPU hang detection
This change uses DRM_IOCTL_I915_GET_RESET_STATS to detect
GPU hangs. When such situation is encountered, then
zeCommandQueueSynchronize returns ZE_RESULT_ERROR_DEVICE_LOST.

Related-To: NEO-5313
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-01-31 13:48:17 +01:00
Raiyan Latif
394c0e90e1 Return error when failing on submission
Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2022-01-12 16:42:30 +01:00
Spruit, Neil R
02f075c541 Power Saving Hint Support for Level Zero in Windows
- Added Functionality to pass ze_power_saving_hint_type_t to zeContextCreate
included in the pNext extensions in ze_context_desc_t.
- Enables handling a hint value 0-100 with 0 being no power savings
and 100 being maximum power savings.
- ZE_RESULT_ERROR_INVALID_ENUMERATION is returned given an invalid hint.

Related-To: LOCI-2567

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2022-01-06 23:56:59 +01:00
Lukasz Jobczyk
b2f286fc4a Reuse command buffers in L0 command queue
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-09 15:52:36 +01:00
Zbigniew Zdanowicz
f56773d166 Setup partition registers once per context
Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-11-22 22:41:09 +01:00
Zbigniew Zdanowicz
7d109c42bc Do not execute multi-tile command list on single-tile command queue
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-11-03 13:27:49 +01:00
Raiyan Latif
0859f99d64 Enable zeDeviceCanAccessPeer
- Propagate return value up from Batch Buffer exec
- Add zeDeviceCanAccessPeer functionality

Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2021-10-12 09:38:22 +02:00
Zbigniew Zdanowicz
3b35ba504f Adapt command stream receiver to multiple active partitions
Related-To: NEO-6244

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-09-23 14:32:20 +02:00
Bartosz Dunajski
a2e41716e2 Fix L0 CommandQueue command buffer allocation properties
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-09-21 16:33:48 +02:00
Rafal Maziejuk
f6c8fb47bb Delete unused L0 function
Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
Related-To: NEO-4541
2021-09-13 14:22:59 +02:00
Zbigniew Zdanowicz
cd4f3c221a Synchronize switching command buffers for all partitions
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-09-08 12:12:23 +02:00
Zbigniew Zdanowicz
6b299a3ab0 Make partitioned post sync operations for partitioned workloads
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-09-03 20:20:29 +02:00
Filip Hazubski
29c64c3dd0 Disable implicit scaling for cooperative kernels
When implicit scaling is disabled use useSingleSubdeviceValue = true.

Resolves: NEO-5757

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-08-18 14:56:37 +02:00