Commit Graph

153 Commits

Author SHA1 Message Date
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
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
c455c0f9c6 Remove "Update Device::engineGroups"
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-03 10:16:40 +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
Filip Hazubski
4461b8ea3f Refactor: Update Device::engineGroups to store only available engine groups
Simplify logic around engine groups.
Remove no longer needed code.

Related-To: NEO-6219

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-02 15:10:22 +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
Mateusz Jablonski
3a2b018eb6 Enable blitterOperationsSupported on DG1
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-28 14:16:19 +02:00
Kamil Diedrich
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
Maciej Dziuban
f1b6b733f0 Reuse graphics allocation from mapped buffers in OpenCL
Related-To: NEO-6352
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-10-27 15:53:10 +02:00
Rafal Maziejuk
811d107ea9 Don't allow blit enqueue for images with 64KB tiling & 3D surface type
Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
Related-To: NEO-6142
2021-10-19 16:03:48 +02:00
Zbigniew Zdanowicz
24ff191e61 Verify completion on all tiles
Related-To: NEO-6244

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-10-15 15:43:28 +02:00
Katarzyna Cencelewska
1c8a6d895a Use hwInfoConfig to check blitter support for image
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2021-10-13 17:51:00 +02:00
Maciej Dziuban
75b7adbe95 Skip transfer when CL_MAP_INVALIDATE_REGION is specified
Resolves: NEO-5490
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-10-13 17:13:33 +02:00
Maciej Dziuban
19a6c9b1d3 Track separate task count for each BCS in OpenCL CommandQueue
Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-10-13 12:06:27 +02:00
Maciej Dziuban
c910a58aa0 Store bcsEngine in an std::vector in OpenCL CommandQUeue
Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-10-07 21:55:21 +02:00
Bartosz Dunajski
5560663b01 Revert "Disabled forced cross engine synchronization on single queue"
This reverts commit 4b5432967eb9f484a491323b6766efe14929c5e9.

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-10-06 17:49:48 +02:00
Mateusz Jablonski
5e201f40be Prevent nullptr dereference in aub dump subcapture mode
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-04 14:23:19 +02:00
Bartosz Dunajski
50bd8b5f19 Disabled forced cross engine synchronization on single queue
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-10-01 13:09:33 +02:00
Maciej Dziuban
c04f8e5e5b Pass copy engines to waitUntilComplete in OpenCL command queue
Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-09-24 14:11:44 +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
Andrzej Koska
bd9457262e Removing dependent commandQueue kernels
Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
Related-To: NEO-6212
2021-09-23 14:04:53 +02:00
Maciej Dziuban
6d1e048327 Rename an overload of waitUntilComplete to waitForAllEngines
- Overloaded functions were quite different, they should have different names
- waitForLatestTaskCount function was redundant and hence its body was moved
inside waitForAllEngines

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-09-23 09:43:11 +02:00
Mateusz Jablonski
d348526941 Simplify checkAndActivateAubSubCapture method
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-09-22 20:23:56 +02:00
Maciej Dziuban
04b6a604ec Refactor BCS in OpenCL CommandQueue
- use CopyEngineState class to hold task count and engine type
- pass engine type to updateBcsTaskCount

Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-09-22 10:39:46 +02:00
Maciej Dziuban
2707618fe3 Pass engine type to getBcsCommandStreamReceiver in OpenCL
Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-09-21 16:27:07 +02:00
Maciej Dziuban
a4b3dc29e4 Remove unnecessary method
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-09-21 11:34:27 +02:00
Maciej Dziuban
c7d86af500 Pass blitter CSR to event
Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-09-15 12:49:22 +02:00
Maciej Dziuban
858727010f Add selectCsrForBuiltinOperation method to OpenCL CommandQueue
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-6057
2021-09-10 12:26:47 +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
Maciej Dziuban
3e6b3cd780 Revert "Create single point for selecting engine for builtin ops"
This reverts commit 6513bd371a69cb821ea45c7c1964ea1f51dd75b2.

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-09-02 11:58:46 +02:00
Compute-Runtime-Validation
94cd243360 Revert "Correct CSR used for hostptr allocations in builtins"
This reverts commit 69ae9dc9c2.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2021-09-02 04:45:06 +02:00
Bartosz Dunajski
0345d9f707 Improve queries with number of SubDevices
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-09-01 14:01:57 +02:00
Maciej Dziuban
69ae9dc9c2 Correct CSR used for hostptr allocations in builtins
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-09-01 13:19:49 +02:00
Bartosz Dunajski
92000bd75b Improve Device getter to support EngineInstanced Device with single Engine
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-08-31 15:50:23 +02:00
Maciej Dziuban
a03b5f8a95 Create single point for selecting engine for builtin ops
- selectCsrForBuiltinOperation selects proper CSR
- selected CSR is passed to dispatchBcsOrGpgpuEnqueue
- Notifications such as notifyEnqueueReadBuffer are now made on correct engine
- Temporary allocs for hostptrs are now created on gpgpuCsr

Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-08-31 13:29:17 +02:00