Commit Graph

45 Commits

Author SHA1 Message Date
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
Maciej Dziuban b8a03cdea1 Remove getAnyBcs() method
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-11-10 18:55:37 +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
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 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
Mateusz Jablonski bf25853799 Move some mocks to shared
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-12 21:46:53 +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
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
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 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
Filip Hazubski 3d6d4acda2 Update isCooperativeDispatchSupported
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-09-02 17:36:58 +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
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
Maciej Dziuban 9bca773b91 Remove command queue constructor
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-07-23 14:16:02 +02:00
Kamil Kopryk 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
Bartosz Dunajski 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
Kamil Kopryk 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
lgotszal 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
Mateusz Jablonski 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
Bartosz Dunajski 9c164a01a6 AuxTranslationMode fallback path
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-03-02 12:09:04 +01:00
Maciej Dziuban 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
Maciej Dziuban 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
Maciej Dziuban 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
Maciej Dziuban 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
Mateusz Hoppe 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
Kamil Kopryk 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
Kamil Kopryk 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
Maciej Dziuban 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
Slawomir Milczarek 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
Bartosz Dunajski 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
Bartosz Dunajski 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
Bartosz Dunajski 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
Bartosz Dunajski 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
Pawel Wilma 4d80f21dac Reuse mapAllocation for memory transfer during buffer creation
Change-Id: Idcdabb4a9c61b5cbf69164c51ca1690a64665a26
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2020-04-02 14:07:20 +02:00
Bartosz Dunajski 1399e55df7 Flush cache for blit aux translation
Change-Id: I108273bee286cdeed06e0c287945099cea481a73
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-03-11 08:40:06 +01:00
Bartosz Dunajski 30f1694411 Update obtainTimestampPacketForCacheFlush usage
Change-Id: I4825e2a5e86d5024bbf178f6c25ebbec9ce1dd2c
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-03-09 17:13:34 +01:00
Bartosz Dunajski f31304a9ad Use MockCommandQueue instead of CommandQueue in unit tests
Change-Id: I617e77f2680d6d22381b7fde702a551413295266
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-03-05 16:34:54 +01:00
Bartosz Dunajski 4c781c1b98 Check if cache flush for BCS is required
Change-Id: Ia36856c46fe7da7a72dae14e2543456fb30ec409
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-02-28 13:45:46 +01:00
Mateusz Jablonski 9dbeeea18f Clang-format: restore sorting includes
Change-Id: I34eb993b562c77f56d8fbd51a02ee266c1f76678
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-02-24 10:22:30 +01:00
Mateusz Jablonski 7df9945ebe Add absolute include paths
Change-Id: I67a6919bbbff1d30c7d6cdb257b41c87bad51e7f
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-02-23 23:49:12 +01:00
Mateusz Jablonski 370424a1e0 Change core inlcudes
Change-Id: Iaec903af420f0a92f7d86e484c83300fb9c531ad
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-02-23 18:46:50 +01:00
kamdiedrich 87c5d2663b Add absolute path to unit_tests
Change-Id: I7a64f79a39dff4f5fa4166244e71872bb614724f
2020-02-23 17:18:04 +01:00
kamdiedrich e8852a68c4 Reorganization directory structure [2/n]
Change-Id: I47962d17d755e80dcd9476e1ed75560f433f6115
2020-02-23 12:01:27 +01:00