Commit Graph

196 Commits

Author SHA1 Message Date
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
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
Katarzyna Cencelewska fea9c9aca7 Add test to detect potential race
also add lock inside initialGpgpu

Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-08-12 09:42:58 +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
Lukasz Jobczyk 7a1cac0674 Fix EnableCmdQRoundRobindEngineAssign flag
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-06-27 11:38:52 +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 f98c6b1a8b Disable round robin engine assign on PVC
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-06-20 15:24:18 +02:00
Maciej Plewka 213dc2fe24 Make CPU copy for read buffer when host ptr is write combined on DG2
With this commit on DG2 32bit driver will check if passed host ptr for
clEnqueueReadBuffer is write combined memory. If check will be true copy
will be make on CPU.

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-06-13 21:23:21 +02:00
Dominik Dabek 0a3c960d61 Enable update task count from wait on DG2
Related-To: NEO-6948

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-06-06 11:41:27 +02:00
Katarzyna Cencelewska 8ff34fea29 Fix typo
-engineGroupTyp to engineGroupType
-remove gap between commits to use same desc.ordinal in createCommandQueue

Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-05-24 12:15:12 +02:00
Sebastian Luzynski b8cf0c757a Notify gtpin onCommandBufferComplete
Notify gtpin onContextDestroy before SVM Allocations are deleted.

Resolves: NEO-6985

Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
2022-05-20 16:42:13 +02:00
Michal Mrozek cbd73d2d9c Do not switch to batched mode when update task count form wait is enabled.
There is not need to enable batching in this case as we do not have
synchronization points between enqueues.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-05-19 13:16:20 +02:00
Artur Harasimiuk 3f04769f07 style: configure readability-identifier-naming.FunctionCase
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-05-17 20:55:56 +02:00
Katarzyna Cencelewska 96e1eb7467 Move variables baseDieRev and baseDieA0Masked from xe_hpc to pvc
Pvc specific variables should be located in pvc struct

Related-To: NEO-6738
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-05-17 12:19:16 +02:00
Patryk Wrobel 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
Kamil Kopryk fb4b1cca4f Use internal blitter for internal memory transfers
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-6621
2022-05-11 19:33:00 +02:00
Dominik Dabek 6e8cabdce5 Split wait for timestamps to queue and event
On PVC both enabled.
On DG2 only for events.

Related-To: NEO-6948

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-05-06 15:34:47 +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
Mateusz Jablonski ac01f74924 style: fix gcc12 compilation errors
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-04-28 18:07:15 +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
Katarzyna Cencelewska 91840e6e07 Fix gap for forcing engine by debug flag NodeOrdinal
add scenario when command queue created with properties
and there is also applied NodeOrdinal flag
then value from flag will use to force engine

Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-04-22 10:48:04 +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 7e4262839a Add timestamp wait support for BCS
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-04-15 13:26:23 +02:00
Lukasz Jobczyk 9ace9356f8 Use timestamp wait only if cache flush not needed
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-04-04 09:36:03 +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
Zbigniew Zdanowicz 9858438121 Limit multiple partition count to compute command lists
Related-To: NEO-6811

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-03-29 07:29:08 +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
Lukasz Jobczyk fec738208a Assign data to overwritten bcs barrier timestamps
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-22 11:54:11 +01: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
Lukasz Jobczyk 3c30e1b02b Add AssignBCSAtEnqueue debug flag
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-01 12:43:36 +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
Mateusz Hoppe 3e66f21df6 Remove incorrect Debug break
- kernels using debug surface does not need to use
only bindful buffers

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-01-28 13:51:02 +01:00
Rafal Maziejuk f064f7dd67 Check if origin + region doesn't exceed image dimensions
Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
Related-To: NEO-6137
2022-01-25 15:13:15 +01:00
Katarzyna Cencelewska 3d9e1ea3a5 Remove device enqueue part 11
- remove templates from queue functions

Related-To: NEO-6559
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-01-25 12:40:56 +01:00
Katarzyna Cencelewska a06fbd2077 Remove device enqueue part 10
- remove DeviceQueue

Related-To: NEO-6559
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-01-19 17:41:06 +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 b59b0b6b36 Download timestamps before checking completion
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-28 08:14:27 +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
Filip Hazubski 64aec8dc4e Rename functions
Rename getEngines to getAllEngines
Rename engines to allEngines
Rename getEngineGroups to getRegularEngineGroups
Rename engineGroups to regularEngineGroups

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-13 14:27:02 +01:00
Filip Hazubski f137e927c5 Add EngineUsageHint debug variable
Related-To: NEO-6219

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-09 16:06:23 +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
Filip Hazubski 2098b0c3fa Refactor Device::engineGroups to store only available engine groups
Simplify logic around engine groups.
Remove no longer needed code.
Ensure correct device is used when verifying engine groups.

Related-To: NEO-6219

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-06 18:27:31 +01:00