Commit Graph

111 Commits

Author SHA1 Message Date
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
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 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
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
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
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
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 42524b6bef Limit usage of getBcsCommandStreamReceiver()
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-08-27 12:15:30 +02:00
Filip Hazubski 63f8c9d98b Add new EngineUsage
Simplify verifying EngineUsage in tryGetEngine function.
Remove unused getGpgpuEnginesCount function.

Related-To: NEO-4940

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-08-23 17:41:13 +02:00
Konstanty Misiak ad19eda689 Fix event profiling for marker commands
Related-To: NEO-5799

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2021-08-13 15:02:01 +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
Szymon Morek 399dc60bf8 Remove processing extra properties
Related-To: NEO-6024

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-07-08 16:18:06 +02:00
Maciej Dziuban 6f6ee90aa5 Extend copy engine selector data
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-07-06 12:28:55 +02:00
Michal Mrozek ad3855ceb3 Revert "Fix event profiling for marker commands"
This reverts commit 5f0167b477993f3ebc804c53a110bc432638615b.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2021-07-01 08:01:33 +02:00
Konstanty Misiak 1df1094465 Fix event profiling for marker commands
Related-To: NEO-5799

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2021-06-30 14:56:39 +02:00
Bartosz Dunajski 5fbf084c41 Dont access PrintfHandler after move operation
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-28 13:57:42 +02:00
Bartosz Dunajski 82f1816aec Keep implicit TSP dependencies ownership after enqueue
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-22 13:37:20 +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
Krzysztof Gibala b01b8ba5ac Use MI_SEMAPHORE_WAIT command for event synchronization
Related-To: NEO-5508
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2021-04-19 11:34:52 +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
Krzysztof Gibala d8a1bb599e Extend event synchronization mechanism for multi device concept
Related-To: NEO-5508
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2021-02-16 11:27:47 +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 a68a4aa74e OpenCL Queue Families extension 17/n
Return index of default queue (created without using the extension)

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5120
2021-02-11 16:01:29 +01:00
Maciej Dziuban 2cd6809d1e Do not use blitter for clEnqueueCopyBuffer
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-02-11 12:42:43 +01:00
Maciej Dziuban 681c6eeb38 OpenCL Queue Families extension 11/n
Check for support of cross queue events in enqueue calls

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5120
2021-01-26 14:02:54 +01:00
Maciej Dziuban 384e47f438 OpenCL Queue Families extension 7/n
Update enum values to official ones
Delete redundant CL_DEVICE_NUM_QUEUE_FAMILIES_INTEL
Rename CL_QUEUE_CAPABILITY_ALL_INTEL to CL_QUEUE_DEFAULT_CAPABILITIES_INTEL
Add capabilities for cross queue events and single queue events
Add capabilities for buffer to image and image to buffer transfers

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5120
2020-12-14 16:19:11 +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
Maciej Dziuban 14f92cc7a1 OpenCL Queue Families extension 1/n
Basic implementation, some things will be tweaked in future commits

Related-To: NEO-5120
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2020-11-24 11:48:18 +01:00
Maciej Dziuban f13db6adad Rename method
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2020-11-15 23:58:32 +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
Mateusz Jablonski a5a5c94097 Correct clCreateProgramWithBuiltInKernels
create program for all provided devices
move OCL specific code from shared to opencl

Related-To: NEO-5001
Change-Id: Ic352b4e907ae75426634ae4b3c7048edecaf83e7
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-10-22 19:26:34 +02:00
Maciej Dziuban 51dcccad76 Create timestamp packet container for events if command queue created it
Related-To: NEO-5120
Change-Id: I00505647343da1876b25290b95a2009b5e4041d6
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2020-10-02 12:11:38 +02: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
Bartosz Dunajski cf8f0c6437 Move blit enqueue out of enqueueCommon [2/n]
Unify events path

Change-Id: I5b1aa5277d48ebcb6efcdb91c67b921518e32783
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-08-28 13:18:50 +02:00
Bartosz Dunajski 9cefc84edc Unify waiting method
Change-Id: I8e17d097e00f7d14c7243cc7989dd333807d5b44
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-08-26 17:46:30 +02:00
Bartosz Dunajski a465d5c753 Dont clear dependencies on enqueue engine switch
Change-Id: Ic6c6f202052c7024c7997de882f0079eead07303
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-07-07 15:51:00 +02:00
Bartosz Dunajski 107f07eb08 Optimize BCS flushing scheme [3/n]
Change-Id: I806d642c869bccfe40a1eb0c58b6a2f53e071cd8
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-06-26 16:45:39 +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
Filip Hazubski 99b0f04cc0 Add new API properties queries
Add queries for getting properties that were used when creating an object:
 - CL_QUEUE_PROPERTIES_ARRAY
 - CL_PIPE_PROPERTIES
 - CL_MEM_PROPERTIES
 - CL_SAMPLER_PROPERTIES

Related-To: NEO-4368

Change-Id: Ib761ee3dd338e9718d72ed4c9596b38843a9b802
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-05-27 18:50:58 +02:00
Piotr Zdunowski 5a2bff7706 Debug functionality to pause before and after specified GPGPU_WALKER.
Resolves: NEO-3961

Change-Id: If797858c0f6a9758f9c1bc5472841dcfff93884b
Signed-off-by: Piotr Zdunowski <piotr.zdunowski@intel.com>
2020-05-20 11:54:54 +02:00
Krzysztof Gibala d5e34d2d10 Create function to get proper CSR
Add function getCommandStreamReceiverByCommandType to get
GpgpuCommandStreamReceiver or BcsCommandStreamReceiver
according to given cmdType.

Related-To: NEO-4013
Change-Id: I16385ada79fe9048cdf9b14a6c5a18652fb788b1
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-04-22 20:21:46 +02: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
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 d015d3633f Add absolute path to include
Change-Id: Ib0782b4ab8d9a26ec358ecfb57721f4fe8d51b06
2020-02-23 08:47:49 +01:00
kamdiedrich fa8e720f9e Reorganization directory structure [1/n]
Change-Id: Id1a94577437a4826a32411869f516fec20314ec0
2020-02-22 21:56:09 +01:00