Commit Graph

111 Commits

Author SHA1 Message Date
Maciej Plewka 4b42b066f8 Use dedicated using type for TaskCount
Related-To: NEO-7155

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-11-28 16:44:44 +01:00
Mateusz Jablonski 1c3d5c3892 Prepare mechanism for returning GPU execution error on OCL API
translate task count value to OCL error

Related-To: NEO-7412
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-04 15:54:19 +01:00
Lukasz Jobczyk 1fedaee18c Wait on timestamps in Event::wait
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-10-10 13:04:21 +02:00
Compute-Runtime-Validation 1c73031a9b Revert "Wait on timestamps in Event::wait"
This reverts commit f91047f2ee.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-10-08 06:17:33 +02:00
Lukasz Jobczyk f91047f2ee Wait on timestamps in Event::wait
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-10-07 12:04:45 +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
Mateusz Hoppe 6ad16c9e72 Missing support for OCL debugging with L0
- make resident debugSurface
- allocate debugSurface with correct allocation type and size
- notify cmdQ create/destroy

Related-To: NEO-7075

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-09-07 13:30:05 +02:00
Compute-Runtime-Validation 20f49481f2 Revert "Enable BCS split WA in OCL"
This reverts commit d672920121.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-09-03 20:25:10 +02:00
Lukasz Jobczyk d672920121 Enable BCS split WA in OCL
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-09-01 16:26:00 +02:00
Lukasz Jobczyk 399758ef17 Change default engines for BCS split
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-08-31 21:34:36 +02:00
Lukasz Jobczyk 82e29fd048 Add bcs split control mask
Introduce debug variable to control which engines
the tranfser will be split into

Related-To: NEO-7173

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-08-19 13:21:10 +02:00
Lukasz Jobczyk b10b3ed9dd Add initial enqueue bcs split infrastructure
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-08-18 15:02:08 +02:00
Compute-Runtime-Validation b38c750cc4 Revert "Add finish before command queue is released"
This reverts commit 50fae92ea2.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-08-05 19:25:23 +02:00
Kamil Kopryk d4d54f5093 Cleanup includes
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-07-25 09:58:38 +02:00
Mateusz Hoppe 50fae92ea2 Add finish before command queue is released
Related-To: NEO-5279

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-07-20 12:16:27 +02:00
Bartosz Dunajski 52b00a11b0 Remove LSH from CommandQueue
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-07-19 08:47:02 +02:00
Bartosz Dunajski 4fb4a1d77b Add LogicalStateHelper getter for CommandQueue.
Refactor Kernel handling

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-07-04 13:21:15 +02:00
Maciej Plewka 6ab6e1abff Fix mutex order for event task and move args to gpu
This commit fixes problem with untransfered shared usm memory to gpu
when there is submit to gpu trigerred by user event. Also there is a fix
for dead lock problem caused by mixed orders of locking mutexes in csr
and in direct submission controller.

Related-To: NEO-6762

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-06-21 11:28:25 +02:00
Lukasz Jobczyk 82d1962aba Assign BCS at first blit enqueue
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-05-04 17:11:34 +02:00
Compute-Runtime-Validation a3fe50c2e4 Revert "Assign BCS at first blit enqueue"
This reverts commit 0469034acb.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-05-04 13:33:25 +02:00
Lukasz Jobczyk 0469034acb Assign BCS at first blit enqueue
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-05-04 10:19:05 +02:00
Lukasz Jobczyk 73d3d83e60 Assign gpgpu engine at first enqueue
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-04-29 11:33:12 +02:00
Compute-Runtime-Validation e8e3355a93 Revert "Assign BCS at first blit enqueue"
This reverts commit 5f5a1a6f81.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-04-26 09:40:46 +02:00
Lukasz Jobczyk 5f5a1a6f81 Assign BCS at first blit enqueue
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-04-25 13:48:21 +02:00
Lukasz Jobczyk 6fdcb83020 Add missing tbx calls to timestamp wait logic
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-04-19 14:24:06 +02:00
Lukasz Jobczyk aa46dd9cdf Assign data only to unused barrier timestamps
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-30 16:56:06 +02:00
Lukasz Jobczyk a74ae8f6af Implement timestamp wait for events
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-17 17:57:30 +01:00
Michal Mrozek bfacd14b61 Remove not needed code.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-03-02 13:10:15 +01:00
Patryk Wrobel 0ecc7c5e3b Detect GPU hangs in clFinish
This change introduces detection of GPU hangs in
clFinish function as well as unit tests to cover
the new code.

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-02-28 19:07:36 +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
Lukasz Jobczyk 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
Lukasz Jobczyk 95585a81f7 Optimize timestamp packet dependencies
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-30 09:48:36 +01:00
Lukasz Jobczyk 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
Lukasz Jobczyk 1f0c58d0bf Refactor timestamp wait mechanism
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-16 13:22:19 +01:00
Bartosz Dunajski fe8cb190bc Remove deprecated code
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-12-14 11:36:10 +01:00
Michal Mrozek ebb16c8b74 Add new debug key to control dependency resolution.
Currently only supported scenario is one in order queue.
Instead of resolving dependencies via semaphores, do this with pipe controls.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2021-12-09 17:26:38 +01:00
Lukasz Jobczyk 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
Maciej Dziuban 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
Lukasz Jobczyk 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
Lukasz Jobczyk 63116e4100 Use wait utils while waiting for timestamps
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-02 17:49:05 +01:00
Lukasz Jobczyk 36efe72e3e Add wait on timestamp mechanism
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-01 08:48:00 +01:00
Maciej Dziuban 457ef00abf Reuse graphics allocations in svmMemcpy
Related-To: NEO-6352
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-11-17 14:03:05 +01:00
Lukasz Jobczyk e8cc34d7b0 Add infrastructure to assign engine to command queue with round robin
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-11-15 13:13:40 +01:00
Maciej Dziuban b8a03cdea1 Remove getAnyBcs() method
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-11-10 18:55:37 +01:00
Compute-Runtime-Validation 908a7721b2 Revert "Assign engine to command queue using round robin algorithm"
This reverts commit 2fff0f9059.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2021-11-10 07:25:44 +01:00
Lukasz Jobczyk 2fff0f9059 Assign engine to command queue using round robin algorithm
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-11-09 11:05:16 +01:00
Compute-Runtime-Validation 9058de77cc Revert "Assign engine to command queue using round robin algorithm"
This reverts commit 1c68ac1cbc.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2021-11-08 16:36:18 +01:00
Maciej Dziuban 4c4b37f8d2 Implement BCS selection heuristic for OpenCL CommandQueue
Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-11-08 12:58:14 +01:00
Lukasz Jobczyk 1c68ac1cbc Assign engine to command queue using round robin algorithm
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-11-03 17:16:54 +01:00
Maciej Dziuban a582f34c04 Reuse graphics allocations in readBufferRect/writeBufferRect
Related-To: NEO-6352
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-11-03 14:58:51 +01:00