Commit Graph

60 Commits

Author SHA1 Message Date
82d1962aba Assign BCS at first blit enqueue
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-05-04 17:11:34 +02:00
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
0469034acb Assign BCS at first blit enqueue
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-05-04 10:19:05 +02:00
73d3d83e60 Assign gpgpu engine at first enqueue
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-04-29 11:33:12 +02:00
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
5f5a1a6f81 Assign BCS at first blit enqueue
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-04-25 13:48:21 +02:00
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
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
4cde6ea1ce Detect GPU hangs in CommandMapUnmap::submit()
This change introduces detection of GPU hangs
in CommandMapUnmap::submit() as well as in Event::submitCommand().
ULTs have been added to cover the new code.

Related-To: NEO-6681
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-03-15 13:17:41 +01:00
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
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
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
1f0c58d0bf Refactor timestamp wait mechanism
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-16 13:22:19 +01:00
fe8cb190bc Remove deprecated code
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-12-14 11:36:10 +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
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
b8a03cdea1 Remove getAnyBcs() method
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-11-10 18:55:37 +01:00
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
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
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
bf25853799 Move some mocks to shared
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-12 21:46:53 +02:00
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
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
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
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
3d6d4acda2 Update isCooperativeDispatchSupported
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-09-02 17:36:58 +02:00
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
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
9bca773b91 Remove command queue constructor
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-07-23 14:16:02 +02:00
b2918b5115 Correct enqueueCopyImage params
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-06-15 13:24:57 +02:00
06fd238a95 Keep old queue TimestampPacket nodes ownership until completed
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-15 08:33:00 +02:00
6ea3f57849 Don't use bcs for mipmapped images OCL
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-06-10 12:48:47 +02:00
3bd4bca911 Copyright header update
Dates corrected in copyright headers to reflect original publication date
(2018 for OpenCL, 2020 for Level Zero).

Signed-off-by: lgotszal <lukasz.gotszald@intel.com>
2021-05-17 20:38:19 +02:00
056300f01f Pass internal kernel object to enqueueKernel method
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-08 19:14:08 +01:00
9c164a01a6 AuxTranslationMode fallback path
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-03-02 12:09:04 +01:00
98ff3cc0a9 Do not use blitter for local->local SVM and USM copies
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5549
2021-02-11 16:24:57 +01:00
160e5ec112 OpenCL Queue Families extension 12/n
Fix engine selection for copy engines

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Relate-To: NEO-5120
2021-01-27 21:27:43 +01:00
2293fc0cb5 OpenCL Queue Families extension 6/n
Add queue family and index querying from existing queue

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5120
2020-12-01 09:03:21 +01:00
ef170607c8 OpenCL Queue Families extension 3/n
Check queue capabilities in enqueue calls for buffers

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5120
2020-11-25 14:02:10 +01:00
264d103774 Flush command queue in release call
Related-To: NEO-5258
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-11-05 21:10:55 +01:00
bc6ba0688e Limit usage of blitter for images
Change-Id: I15223ef4ebdbfef67b05647188bdd92d35a9dcad
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2020-10-29 11:53:21 +01:00
f84cd9f424 Small refactor getCommandStreamReceiver
Related-To: NEO-4692
Change-Id: Ie8c36982d5bd626735d1f8e6d04084bce67738e5
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2020-10-27 15:52:18 +01:00
83252e7306 Add isCopyOnly field
Change-Id: Ia056af66af437c22738fd15abff12e1ad226509a
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5120
2020-09-28 12:27:50 +02:00
c7e92738c6 AUB allocation dumps on clEnqueueSVMMemcpy only
Related-To: NEO-4763

Change-Id: I2efc87ec4c43b2e1d010cc5d9608599b8ab34394
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-08-31 17:34:44 +02:00
ffc218d8a2 Fix event submit time for enqueue without kernel
Change-Id: Ibb9ee7312a2c9618d91ebca03b0e0eb98cc551ee
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-08-28 19:13:24 +02:00
1544453f24 Fix dumping allocations when BCS copy is allowed
Change-Id: I0d56e0d2e8007e7dc1686fab0e40502b658c254e
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-07-10 16:53:47 +02:00
86dc5bacc7 Optimize BCS flushing scheme [2/n]
Change-Id: I6f1e0115b9c45f89afb86f8fd2304604243541df
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-06-26 11:37:24 +02:00
c1dc8a8c3c Optimize BCS flushing scheme [1/n]
Change-Id: Ia192d24196e46fc281c401c241044f3429c16693
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-06-25 11:01:19 +02:00