Commit Graph

157 Commits

Author SHA1 Message Date
461a2eb8c7 Refactor interface to hardware interface
Related-To: NEO-6959

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-07-05 11:54:33 +02:00
39dfaf64bc Fix: Flush on svmMap on multi device 2/n
Previous fix was causing the runtime to get buffer size
without gfx allocation, causing a seg fault.

This commit moves the fix logic to enqueue handler,
only changing the enqueueProperties.

Related-To: NEO-6948

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-06-21 11:38:28 +02:00
3f04769f07 style: configure readability-identifier-naming.FunctionCase
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-05-17 20:55:56 +02:00
9b2ad0c5df Detect GPU hangs in flushBcsTask()
This change introduces detection of GPU hangs in flushBcsTask()
function. The new code has been covered with ULTs.

Related-To: NEO-6681
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-05-12 16:17:16 +02:00
e722afbefb Track waitlist TimestampPackets to avoid too early return to the pool
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-05-12 13:54:04 +02:00
ba63e3c4b5 Obtain BCS for aux translation only if needed
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-05-04 15:59:11 +02:00
93fe8a4794 Optimize gpgpu csr's mutex lock in the enqueue blit
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2022-04-20 11:40:59 +02:00
f4407064a4 Refactor store register mem encoder to include partition parameter
Related-To: NEO-6811

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-04-06 14:00:56 +02:00
76289be8c1 Avoid unnecessary allocation in enqueueHandler
Related-To: NEO-6837

kernelObjsForAuxTranslation will allocate only if needed

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-04-06 13:03:41 +02:00
308f9ccfff Do not allocate dynamic state heap if not needed
Dynamic state heap is only used for sampler data.

Related-To: NEO-6821

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-03-31 12:13:13 +02:00
d77a6cbe4b Enable task count update from wait
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2022-03-28 11:09:55 +02:00
0c064ccf4c Revert "Enable task count update from wait"
This reverts commit 5118a5d3a6.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-03-25 00:09:52 +01:00
5118a5d3a6 Enable task count update from wait
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-23 11:38:50 +01:00
e4d56cde21 Detect GPU hangs in blocking enqueue handler calls
This change introduces detection of GPU hangs in blocking
calls to enqueueHandler() function. Moreover, usages of
this function template have been revised and adjusted to
check the exit code. Furthermore, enqueueBlit() and
dispatchBcsOrGpgpuEnqueue() functions returns value now.
ULTs have been added to cover new cases.

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
Related-To: NEO-6681
2022-03-22 21:06:19 +01:00
c8ba97e492 Restore gpgpu csr's mutex lock in the enqueue blit
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-10 13:36:46 +01:00
f91ae9d59c Add multithread enqueue blit OOQ test
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-07 11:17:27 +01:00
e526cc470b Revert "Add multithread enqueue blit OOQ test"
This reverts commit 0919cad885.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-03-03 16:06:15 +01:00
f193efec2f Remove additional memory allocations for surfaces container
In constructor of CommandComputeKernel we had been doing multiple allocations
of memory on heap due to lack of call to std::vector copy-constructor or reserve
member function.

Furthermore, in production code there is only one place, where we create objects
of this type and we redundantly copy the local variable, which could be moved.

This change:
- ensures that constructor of CommandComputeKernel performs single allocation
in the worst case; in the best case, it does not allocate memory due to usage
of std::move on input parameter
- steals the memory of the local variable in place of usage of the constructor
to remove redundant copying and memory allocations
- uses reserve() method to reduce the number of allocations during creation
of this local variable

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-03-03 12:07:36 +01:00
0919cad885 Add multithread enqueue blit OOQ test
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-02 14:18:58 +01:00
bfacd14b61 Remove not needed code.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-03-02 13:10:15 +01:00
ea574d9b39 Optimize enqueue blit mutex
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-01 14:43:29 +01:00
3c30e1b02b Add AssignBCSAtEnqueue debug flag
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-01 12:43:36 +01:00
cf1bc3a2ba Disable EU fusion based on kernel properties from compiler
Related-To: NEO-6633

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2022-02-28 18:50:38 +01:00
9ff1307b4b Fix optimize timestamp packet dependiencies
-program barrier after global fence allocation is programmed
-do not double barrier timestamp in blit enqueue
-flush GPGPU while submitting to BCS when barrier requested

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-02-03 16:27:09 +01:00
52c6973e89 Rename blitBuffer method
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-02-03 15:02:55 +01:00
f8c104feaa Use fw declaration of IndirectHeap in CommandContainer
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-01-26 13:30:26 +01:00
97765cd39f Remove device enqueue part 7
- mainly remove BlockKernelManager and ReflectionSurfaceHelper

Related-To: NEO-6559
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-01-19 10:41:57 +01:00
a8b8a61c87 Fix marker calls in non profiling path.
When waiting , if we guard blit copy operation,
we need to wait for bcs as well.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-01-18 15:46:50 +01:00
dd63f96836 Fix dependency resolution when marker with profiling is programmed.
We need to make sure it properly follows dependencies.
Before the change, code was not programming semaphores.

Related-to: NEO-6444

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-01-18 11:48:38 +01:00
59683ec491 Remove device enqueue part 6
- isParentKernel, peekParentKernel, parentKernel
- structs: AUBParentKernelFixture, MockParentKernel,
ParentKernelCommandQueueFixture

Related-To: NEO-6559
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-01-17 13:56:29 +01:00
a9ebb49fb5 Remove device enqueue part 1
Remove:
-tests with matcher for device enqueue
-classes: MockDeviceQueueHw, DeviceQueueHw, SchedulerSimulation,
DeviceQueueHwTest, KernelArgDevQueueTest
-functions: forceDispatchScheduler, processDeviceEnqueue, dispatchScheduler

Related-To: NEO-6559
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-01-11 15:29:49 +01:00
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
418a8854b2 Skip timestamp wait when enqueue non kernel operation
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-30 10:02:07 +01:00
95585a81f7 Optimize timestamp packet dependencies
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-30 09:48:36 +01:00
14e338e669 Revert "Optimize timestamp packet dependencies"
This reverts commit c365b422963917e7b882f9db985969c036f0fa3f.

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-23 14:29:29 +01:00
f4c151cce5 Refactor PipeControlArgs struct
Remove struct PipeControlArgsBase

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-22 17:13:16 +01:00
0fd685541d Add isDcFlushAllowed function to HwInfoConfig
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-21 18:29:43 +01:00
6d439f88bb Explicitly set dcFlushEnable value
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-21 12:21:11 +01:00
fe8cb190bc Remove deprecated code
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-12-14 11:36:10 +01:00
01348451db Add multi tile barrier to marker command on multi tile device
Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-13 18:14:39 +01:00
0c49fa8203 Add missing cache flush for blocked path
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-07 12:36:34 +01:00
e3bb526067 Optimize timestamp packet dependencies
- Clear dependencies even if last engine changed
- Do no program semaphore waiting for blit when blit is submitted with gpgpu
- Track barrier timestamps to correctly synchronize blits in OOQ

Related-To: NEO-6444
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-12-07 11:47:50 +01:00
09d2ffb9ed Add missing cache flush
Resolves: NEO-6505

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-06 17:28:12 +01:00
61641bb70a Add implicit barriers capability to opencl
Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-11-10 08:19:50 +01:00
5fdcb14d57 WSL fallback to staging buffer on blocking reads
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2021-10-28 03:34:58 +02:00
28b37aea72 Correct handling unique_ptr in functions
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-10-21 18:17:14 +02:00
ec1e39bab8 Move OCL specific part of FileLogger to ClFileLogger
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-11 23:55:08 +02:00
eccebfb49d Fix typo 2/n
Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
2021-10-07 21:42:49 +02:00
684b9e5f51 Fix missing submit time calculation
Related-To: NEO-5799

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2021-10-05 12:58:04 +02:00
96fef37834 Move shared local work size code to shared directory
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-10-04 14:04:28 +02:00