Commit Graph

144 Commits

Author SHA1 Message Date
Dominik Dabek
fb1a008414 Change fences to use tag allocation
Instead of creating new allocation per fence, use the task count.
Fence synchronize will wait for task count update.

Related-To: NEO-6634

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-02-02 11:56:29 +01:00
Aravind Gopalakrishnan
63a8908744 [1/n] L0 Immediate Commandlist improvements
Add indirect allocs to residency in flushTask

Related-To: LOCI-1988

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2022-02-01 01:39:23 +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
Michal Mrozek
3d9548cee9 [5/n] Optimize Indirect Allocations.
Enable mechanism where feasible.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-01-26 16:01:10 +01:00
Michal Mrozek
6df17f5a30 [3/n] Optimize indirect allocations handling.
Add new debug variable to trigger new mode.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-01-25 16:40:56 +01:00
Fabian Zwolinski
d9bf1886c2 Remove GMock from GMockMemoryManagerFailFirstAllocation, GMockMemoryManager...
Removed GMock from
- GMockMemoryManagerFailFirstAllocation
- GMockMemoryManager
- TestEventCsr
- MockKmdNotifyCsr
- MockMemoryOperationsHandlerTests
- GmockGmmMemory
- MockMemoryManagerCommandQueueSBA
- TestCmdQueueCsr

Renamed:
- GMockMemoryManagerFailFirstAllocation -> MockMemoryManagerFailFirstAllocation

Moved class body:
- GMockMemoryManager to MockMemoryManager
- GmockGmmMemory to MockGmmMemoryBase

Related-To: NEO-4914
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2022-01-20 16:08:34 +01:00
Compute-Runtime-Validation
6082865eb4 Revert "Optimize Level Zero indirect allocations handling."
This reverts commit 3ecbc55ba9.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-01-20 11:41:13 +01:00
Michal Mrozek
3ecbc55ba9 Optimize Level Zero indirect allocations handling.
Make them resident directly instead of populating residency container
Remove finds, not needed, CSR resolves duplicates at makeResident calls
Observed gain is 32x for 10k indirect allocations.


Co-authored-by: Michal Mrozek <michal.mrozek@intel.com>

Co-authored-by: Dominik Dabek <dominik.dabek@intel.com>

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-01-19 13:08:35 +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
Filip Hazubski
5be4d89b73 Rename function
Rename MemorySynchronizationCommands::isDcFlushAllowed
to MemorySynchronizationCommands::getDcFlushEnable

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-30 17:03:22 +01:00
Filip Hazubski
f4c151cce5 Refactor PipeControlArgs struct
Remove struct PipeControlArgsBase

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-22 17:13:16 +01:00
Filip Hazubski
9a450d1b74 Pass hwInfo to appendMiFlushDw
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-22 15:22:47 +01:00
Filip Hazubski
0fd685541d Add isDcFlushAllowed function to HwInfoConfig
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-21 18:29:43 +01:00
Filip Hazubski
6d439f88bb Explicitly set dcFlushEnable value
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-21 12:21:11 +01:00
Kamil Diedrich
6940fbf387 Program private 2 scratch in L0
Related-To: NEO-5427
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2021-12-20 23:25:09 +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
Filip Hazubski
cf4ce308d9 Rename function
Rename multiDeviceCapable to implicitScalingCapable
Rename isMultiDeviceCapable to isImplicitScalingCapable

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-09 11:14:08 +01:00
Zbigniew Zdanowicz
357f650b8b Unify code for check is implicit scaling enabled
Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-11-24 12:41:00 +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
7ea0a11c0a Unify programming of partition registers
Related-To: NEO-6262


Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-11-18 16:52:51 +01:00
Spruit, Neil R
6d8502847e Set Uncached MOCS for List only given stateless uncached args
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2021-11-18 03:35:48 +01:00
Spruit, Neil R
9c6433e55e Fix to L3 Caching given unaligned memory & hostPtrCopy only for src host ptrs
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2021-11-16 00:44:46 +01:00
Szymon Morek
dbeb263868 Fix CFE programming when usm transfer required
Resolves: NEO-6288

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-11-05 11:49:48 +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
Lukasz Jobczyk
c7d5a96dfd Flush small task adjustments
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-10-28 11:39:55 +02:00
Compute-Runtime-Validation
8c6fed2149 Revert "Flush small task adjustments"
This reverts commit 32ae9555f1.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2021-10-28 09:19:32 +02:00
Lukasz Jobczyk
32ae9555f1 Flush small task adjustments
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-10-27 16:43:06 +02:00
Krzysztof Gibala
ca0138da2e Disable PC WA on specific engine type
Related-To: NEO-6056

Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2021-10-18 14:04:27 +02: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
Dominik Dabek
59a1adc41b Poll csr completion at CmdQueue
Related-To: NEO-6090

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2021-10-07 14:25:28 +02:00
Bartosz Dunajski
4ba4c32766 Remove SBA->IOH programming on XE_HP_SDV
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-09-29 12:35:43 +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
ddf76ef0b2 Add reset partition count and all partitions in Fence object
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-09-13 10:24:10 +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
Rafal Maziejuk
824102dc6c Move isDisableOverdispatchAvailable function from HwHelper to HwInfoConfig
Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
Related-To: NEO-4541
2021-09-07 14:12:48 +02:00
Filip Hazubski
23cea464fe Correct setting singleSliceDispatchCcsMode value
Don't set the value when appending kernels.

Related-To: NEO-5995

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-09-07 10:40:36 +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
0606ef4095 Disable patching VfeState by default
By default VfeState will be programmed once per command lists execute.
Patching may be enabled with AllowPatchingVfeStateInCommandLists variable.

Related-To: NEO-4940

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-09-01 17:18:14 +02:00
Filip Hazubski
c03620468b Update VFE state programming
Treat regular kernels scheduled as cooperative ones as cooperative kernels.
Add debug variable AllowMixingRegularAndCooperativeKernels.

Related-To: NEO-4940

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-08-31 19:49:25 +02:00
Filip Hazubski
741fa13507 Store StreamProperties in CommandStreamReceiver
Move StreamProperties from CommandQueueHw.

Related-To: NEO-5995

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-08-30 15:52:47 +02:00
Filip Hazubski
63f8c9d98b Add new EngineUsage
Simplify verifying EngineUsage in tryGetEngine function.
Remove unused getGpgpuEnginesCount function.

Related-To: NEO-4940

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-08-23 17:41:13 +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
Bartosz Dunajski
d8a98acafd Set SingleSliceDispatchCcsMode for EngineInstanced OsContext
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-08-18 13:02:16 +02:00
Jaime Arteaga
5c236a62fd Changes to SW tags
Add SW tags to synchronization points
Add ID sequence numbers
Add new allocation type

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-08-18 01:51:37 +02:00
Szymon Morek
aa5e1780a2 Rename plus in filenames to and_later
Related-To: NEO-5920

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-08-17 11:26:27 +02:00
Vinod Tipparaju
a2012e04dc Add pageFault migration support for immediate cmdlist submission via flushTask.
Move logic for makeResident & pageFault migration to command place for re-use.

Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2021-08-10 06:21:04 +02:00
Filip Hazubski
caf1ab628a Do not allow mixing cooperative and non-cooperative kernels in an execute
When executing command lists, ensure that all lists contain either cooperative
or non-cooperative kernels. When appending kernels to a command list, do not
allow mixing cooperative and non-cooperative kernels.

Related-To: NEO-4940, NEO-5757

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-08-03 20:24:33 +02:00