Commit Graph

335 Commits

Author SHA1 Message Date
0440b86d05 Rename SVM Memory Manager to Unified Memory Manager.
Change-Id: I1d7637a5aaca3ef5190c4f6303c81060f95744a9
2019-07-12 11:22:09 +02:00
42604b8645 Improve PIPE_CONTROL programming
Change-Id: Id21fe4d08fdfc19921051beb8f9a66737fefc2f3
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-07-12 10:50:45 +02:00
3b8d39be62 Revert "Improve PipeControlHelper"
This reverts commit 878928caee.
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>

Change-Id: I91c4cffc90d613a6a6e6bcee6e9cf39b8a707cb3
2019-07-11 11:56:02 +02:00
878928caee Improve PipeControlHelper
Change-Id: I8d553ec82026399225e452529044a0470afe7963
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-07-10 19:37:08 +02:00
b6792ef049 Move profiling programming out of MultiDispatchInfo processing loop
Change-Id: I55c271569d3cb6c09d1cef02793afb2115110fe2
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-07-10 14:55:31 +02:00
6ffcd51847 Fix race in events scenarios.
- It could happen that 2 threads try to update the same event within tree
- First thread starts to submit command, it releases cmdToSubmit
- Second thread doesn't see the command and follows
- Second thread thinks that it submitted the command so it follows to
subsequent steps which are child events notification
- We end up with corrupted enqueue sequence as child may submit prior to
parent.
- With this change each submit step is synchronized basing on task count
- When second thread enters submit command without task count being set
it wait for first thread to properly set it.

Change-Id: Ic2ddaea17f9af8cab6781320edae2c268dd0b189
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-07-09 14:45:07 +02:00
b349c4bb13 Fix race in isQueueBlocked.
- Sequence is as follows :
Enqueue returning event , blocked on user event.
clFinish.

There are 2 additional threads:
- one is calling updateExecutionStatus in a loop on returned
event
- one is calling setUserEventStatus on parent user event

In such case virtual event may be submitted but task count will
not be assigned.

Change-Id: Ia097bd59b276cc9213945c476cf289398b8f5934
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-07-09 11:42:38 +02:00
baa11187c3 Simplify isStatusCompletedByTermination.
- remove default parameter.
- remove branch.

Change-Id: Ia829adfc684057516a2fc204e853ad3948853e22
2019-07-09 09:48:16 +02:00
64403ef630 User event code path improvements.
- is queue blocked to release virtual event when it is submitted
- do not wait on completion after ndr submit.

Change-Id: I63c54e6940f6241b32f0dbdd5880f849c46fd12e
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-07-08 16:23:17 +02:00
cf63b25aff Make TimestampPacket allocations resident
Change-Id: Ic15251bf73a6f2b3c888b2272f8df9c721ee8f58
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-07-08 14:03:29 +02:00
0a8a77d47c Move enqueue blit logic to enqueueHandler
Change-Id: Ibbad22906387c15243708d37b272601f4734697d
Related-To: NEO-3020
2019-07-08 12:37:06 +02:00
d1d794c658 Metrics Library Performance Counters implementation.
Signed-off-by: Piotr Maciejewski <piotr.maciejewski@intel.com>
Change-Id: I0f00dca1892f4857baaebc75ba2208a4f33db1bf
2019-07-04 15:56:47 +02:00
25083960ac Add parameter to setGpgpuWalkerThreadData.
Change-Id: I931f27ad3a21d3d151b19ac9226e245134295b98
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-07-03 13:14:51 +02:00
d6b438da20 Clean interfaces.
Change-Id: Ifbc7caf77d10bd34c1c776739e9f11d3f9b12af8
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-07-02 15:31:21 +02:00
27654c9282 Buffer-to-Buffer blit operations support
Change-Id: I76c9fae83fa2a31bd6108999c7f77f4a47c47f1b
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-07-01 23:46:07 +02:00
3441b5288d Update DispatchFlags in enqueueCommandWithoutKernel path
Change-Id: Ic1a8de5ee3e6d387d93b7238ab74bf1e3a8e0990
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-07-01 14:41:35 +02:00
41cca6d790 Use GraphicsAllocation for blit operation instead of Buffer object
Change-Id: I7e59a25db97082a6396d441a8fa603df27d6424d
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-07-01 11:23:27 +02:00
27f3f8ea8f Pass private scratch size to scratch space controller
Related-To: NEO-3190

Change-Id: I6f1e71481679492516d898226de6a1e721896e81
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-06-28 14:32:06 +02:00
56e77ca452 Add BlitProperties to simplify properties passing
Change-Id: I4abf99d420487a237e5b465b9d4d121121f45a84
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-06-27 16:31:40 +02:00
da09c70e8c Remove not used parameter
Change-Id: Ieef5a0da66a91075b682e917def3578cf48b0bbe
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-06-27 13:58:18 +02:00
8d4791143b Change postSyncAddress offset for cache flush
Change-Id: I6cc557888e46e4a1c1ff495ddd2a3f9b6e264a21
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-06-27 11:42:52 +02:00
1bc5f7b142 Ensure that events without commands have proper flush stamps.
Change-Id: I937efef7f87fa7df9e9b1a903269e3637eca73ad
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-26 09:08:58 +02:00
8263d488c6 Submit Semaphore dependency for enqueue read/write without Kernel
Change-Id: I22e1743b4cbd6e8285527fdfe25424a6cb3ff462
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-06-25 14:21:57 +02:00
be7087ec66 Obtain completionStamp from enqueueCommandWithoutKernel
Change-Id: I045d4acc37a3c1d7376eaf87b1ed163c968f1266
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-06-21 14:10:26 +02:00
a9b8c07293 Update enqueueKernel
Return CL_INVALID_GLOBAL_WORK_SIZE error if global_work_size contains 0 for
OpenCL older than 2.1
Do not throw exception if global_work_size contains 0

Related-To: NEO-3111

Change-Id: If7b7884465117d9c0615ace2bb682b3b1c7d8bdb
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-06-19 15:28:39 +02:00
4b592b2520 Don't take BCS path when Queue is blocked
Change-Id: Ie6faa276ce1173ce075693bc81d1e91d1ace27fc
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-06-18 15:31:53 +02:00
a2398e193b Pass Blocking enqueue flag to Blit CSR
Change-Id: I2dcdd27eef338d3aca60a273bce15e5382673a93
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-06-17 16:33:16 +02:00
3e88907201 Enqueue Read/Write operations with blitter
- Program dependencies from Event and IOQ
- Obtain new TimestampPacket
- Update output TimestampPacket if needed

Change-Id: I4ad020f5c5b05ceca8b096fafe1257523e2bc343
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-06-17 12:01:37 +02:00
04e893d31f Move providePerformanceHint method from private to protected scope
Change-Id: I48cd44748d5e24aa53a72db89269fc26c4626190
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-06-14 00:13:47 +02:00
bea67a8bb3 Move queue dependency clearing query to helper method
Change-Id: I0859d7f855020979b27ba5ee31c59cc8a7bd3f7a
Related-To: NEO-3020
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-06-13 15:04:18 +02:00
9be74b5f3e Replace imageRowPitch with imageSlicePitch
Related-To: NEO-2665
Replace imageRowPitch with imageSlicePitch
  for read/write CL_MEM_OBJECT_IMAGE1D_ARRAY
Change-Id: I0d5931629571f538f242e112c502e2f798ffd896
Signed-off-by: Koska, Andrzej <andrzej.koska@intel.com>
2019-06-12 21:06:32 +02:00
70f92cf03c Rename KernelCommandsHelper to HardwareCommandsHelper
Change-Id: I0b92a2d74bc96658274e4a02fec0f322e87681b2
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-06-12 13:45:12 +02:00
576005f7bb Initial support for enqueue blit operation
Change-Id: Iab37beeeb574243c00a5579568e15bcbd1307c43
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-06-09 13:56:03 +02:00
d11e61b5ee Revert "Replace imageRowPitch with imageSlicePitch"
This reverts commit 4a49e7396a
Related-To: NEO-3265
Change-Id: Ia521f850e10bea174db282bd2de68ff626aea943
Signed-off-by: Koska, Andrzej <andrzej.koska@intel.com>
2019-06-06 08:15:26 +02:00
8e210941f8 AUB subcapture to work with multi CSRs
Related-To: NEO-2747

Change-Id: I2149cafb59bd1a6374da140e3f7e76a4cb3bb417
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2019-06-05 10:52:05 +02:00
4a49e7396a Replace imageRowPitch with imageSlicePitch
Related-To: NEO-2665
Replace imageRowPitch with imageSlicePitch
  for read/write CL_MEM_OBJECT_IMAGE1D_ARRAY
Signed-off-by: Koska, Andrzej <andrzej.koska@intel.com>
Change-Id: I67bd0567dcee05027f3d25ef65796e332b9a4773
2019-06-04 22:54:07 +02:00
f6bf2c5d0b Simplify read/write enqueue operations on CPU
Change-Id: I7f59b04d484be2699e325d10e16298016231faf2
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-06-03 09:56:26 +02:00
ab8e3e472f Remove redundant cpuCopyAllowed flag
Change-Id: I8609af0c64d408b87a54d9ac082de7dd0cc83a79
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-05-30 13:15:23 +02:00
b98b51b0d9 Move ptr.h to core folder
Change-Id: Icf0db7c767b2b1ea44fccc02b135f0f6c1f78c8f
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2019-05-29 00:11:34 -07:00
583d4d4c6c Add clearAllDependencies parameter to obtainNewTimestampPacketNodes
The capability to clear Timestamp packet dependencies from command queue.

Related-To: NEO-2747

Change-Id: Id3812539a47b96e23d0b8b17b9b8f54878ee2ef2
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2019-05-24 12:29:49 +02:00
608ec933da Extract GpgpuWalker related functions to bdw_plus files
Change-Id: I3b2081af8e350d4072da5e1482a4bfc50e06fb6d
Related-To: NEO-3016
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2019-05-24 11:48:50 +02:00
fa3d4f39f4 Enabling clEnqueueSVMMemcpy between SVM and host pointer
Related-To: NEO-3011
Change-Id: I89aad599d7238ea2d319a4b1c72dffea2dba952b
Signed-off-by: Koska, Andrzej <andrzej.koska@intel.com>
2019-05-20 09:10:56 +02:00
bfea41c85b Revert change to image alignment performance hint.
This reverts commit 1262b67e17.

Change-Id: I0935c43e065e4543ad70a6178ceb3773d6c8a65b
Related-To: NEO-2366
Signed-off-by: Zdunowski, Piotr <piotr.zdunowski@intel.com>
2019-05-15 14:58:17 +02:00
b8fb5e683b Move basic_math.h and vec.h to core directory
Change-Id: I143b7af450ff48d4958b4bc7137b393a2dc0eb64
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-05-14 21:32:55 +02:00
8f17c70e9e Remove CommandQueueHw::requiresCacheFlushAfterWalkerBasedOnProperties
Change-Id: Ibdc6f7b883bfef471926a4351ed7437173c4a6a6
Related-To: NEO-2535
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-05-14 17:31:53 +02:00
1262b67e17 Image alignment performance hint should report the same values it checks.
Related-To: NEO-2366

Change-Id: I0bbbd4bbe2940ef89fdc9cadcf1d3894ca4fb5ad
Signed-off-by: Zdunowski, Piotr <piotr.zdunowski@intel.com>
2019-05-14 16:29:24 +02:00
3da9aebf7d Extract functions to command_queue_hw_base.inl
Change-Id: I172c5d29cc81c4f1a95f6475ec261975ee21fab6
Related-To: NEO-3016
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2019-05-10 16:33:12 +02:00
cc6a94b5b6 Fixed TBX with AUB dump mode without AubStream
Related-To: NEO-3150

Change-Id: I9ee7fc3c44f3021c61db7c27c01522cbe7d7445d
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2019-05-10 14:23:17 +02:00
6c8b14c918 OmitTimestampPacketDependencies to omit node dependency in timestamp packet
Makes subcapture feature work with timestamp packet enabled.

Related-To: NEO-2747

Change-Id: Ifa45f1c066129671a02dc708b537b285f5a05d7f
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2019-05-07 16:05:00 +02:00
10d87404b6 AUB with kernel names in case of kernel split
Related-To: NEO-2747

Change-Id: I49d3e4716db4634da6744fe91ecfb0763f67722a
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2019-05-07 10:14:32 +02:00