Commit Graph

152 Commits

Author SHA1 Message Date
Dunajski, Bartosz 6dae106f07 Improve TimestampPacket residency flow
- Dont call makeResident in enqueueHandler for blocked path
- Fill csrDeps for blit enqueue only in unblocked path
- Call makeResident on all dependencies during blocked command flush

Change-Id: I6658e4695483bee63eca205f85687ea5f951b099
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-09-04 16:33:17 +02:00
Dunajski, Bartosz 47a0c43ad3 Copy EnqueueProperties to KernelOperation in blocked path
Change-Id: I5b9999901b5b75fc3165f9fa389857732aca2849
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-09-03 14:11:40 +02:00
Dunajski, Bartosz 712313a3be Remove not used parameter
Change-Id: I89b8e3f3cd835b6bb3896fb3951941854e804786
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-09-02 14:44:32 +02:00
Dunajski, Bartosz 2275f8df0e Rename CommandMarker to CommandWithoutKernel
Change-Id: Ie19c510465a36ea517a79db9eeac5b5993e44c81
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-09-02 12:53:58 +02:00
Dunajski, Bartosz e7e23cd0b4 Remove queueBlocked restriction from blitEnqueueAllowed
Change-Id: If7fcd15cbbb4e749d16b9d028dac33a8a7b20bde
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-09-02 12:53:21 +02:00
Dunajski, Bartosz 77e22bd81b Refactor dispatching blit enqueue
Change-Id: Ibe499e4815a16d5884510c6804221d2b74dbffd4
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-09-02 07:56:50 +02:00
Mrozek, Michal ae201a47d3 Improve uncached resources handling.
- Change kernel to properly detect true stateless resources
- do not turn of stateless l3 if arg is used in pure stateful manner
- refactor variable names to better reflect what they do
- improve mock kernel with internal to have setKernelArg capabilties

Change-Id: I2cdde04f2144d9b86dc1486126632db0fd7cad49
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-08-30 10:51:28 +02:00
Mrozek, Michal cb4e5576cb Pass proper dispatch flags.
- add new policy to select L1 caching
- this is when kernel doesn't have any stateless writes

Change-Id: I3948e652797420976159bbfec2c2a154eb9e18ee
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-08-26 18:15:54 +02:00
Dunajski, Bartosz 8135babfc4 Dont use default engine tag address in DeviceQueue
Change-Id: I84b9ecd9a9e7c1ffe620af8ad54fd5d48532fa5b
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-08-26 13:30:18 +02:00
Mrozek, Michal f362739521 Refactor L3 programming.
- Do not do it via member setting.
- Utilize DispatchFlags

Change-Id: I75d4c8ea6c1e10ca0edeeb0d1c3883a549c1cb1f
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-08-23 08:46:27 +02:00
Dunajski, Bartosz e88371ceff Minor enqueueHandler cleanup
Change-Id: I07b2d0571b91b797b7a20ec29bb4cf1496b84f96
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-08-05 12:26:37 +02:00
Dunajski, Bartosz 38556cec29 Allow blocked command stream programming for commands without Kernel
Change-Id: I691a029bd5511c8f710ef1bff8cc5a9feca644f3
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3433
2019-07-24 16:01:34 +02:00
Dunajski, Bartosz 4dd3292922 TaskInformation cleanup
Change-Id: If723f477406ca13e40c77a9471de9b8e35beff1d
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3433
2019-07-23 12:04:20 +02:00
Dunajski, Bartosz 95c2dcd8b0 Improve obtaining LinearStream during enqueue call
- Move logic to enqueueHandler to cover all scenarios
- Create BlockedCommandsData not only for Kernel enqueue
- KernelOperation cleanup

Change-Id: Ie4a673cbbc986c685996a38ab296444d38e7bbd5
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-07-22 18:52:14 +02:00
Dunajski, Bartosz 4e98d34471 Update dispatch flags for enqueueCommandWithoutKernel
Change-Id: I51c8afee84b40db12901f048c03fd92fa3808c0c
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-07-22 14:50:14 +02:00
Dunajski, Bartosz cc617c0f78 Do implicit flush for blit enqueues
Change-Id: I872f39a0ea3410b09693b2018c0b86a9a127e5a2
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-07-19 09:48:52 +02:00
Dunajski, Bartosz dda6e29254 Dont wait for BCS before enqueue completion
Change-Id: I99fa7834e927049c2faff5dfbf44b3c2a77a1af1
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-07-17 13:15:06 +02:00
Dunajski, Bartosz 277786d433 Refactor obtaining IndirectHeaps
Change-Id: I9ad13f35daa18b0ff7ae760749cf4cdc7416b347
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-07-17 11:13:49 +02:00
Dunajski, Bartosz 23e9e9e02e Register Blit CSR to CommandQueue
Change-Id: Ib22ef934492b702990ca549bab576993b0684e98
Related-To: NEO-3020
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-07-17 08:04:03 +02:00
Dunajski, Bartosz 89d1878cd6 Rename engine member in CommandQueue
Change-Id: I01516616c164f19afbcd62d39a2a42d04ff768c9
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-07-15 17:53:01 +02:00
Dunajski, Bartosz de381f01e8 Move waitForTaskCountAndCleanAllocationList to waitUntilComplete
Change-Id: Ia36b43bb2c8e330c1d90d639c06efcad42783e23
2019-07-15 14:48:36 +02:00
Dunajski, Bartosz 2c0c0ace88 Flush Marker command with TimestampPacket dependencies
Change-Id: I6475624996ccc254adb6641bef3cda431e57325a
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-07-15 11:31:16 +02:00
Dunajski, Bartosz 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
Dunajski, Bartosz 0a8a77d47c Move enqueue blit logic to enqueueHandler
Change-Id: Ibbad22906387c15243708d37b272601f4734697d
Related-To: NEO-3020
2019-07-08 12:37:06 +02:00
Piotr Maciejewski 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
Dunajski, Bartosz 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
Mateusz Jablonski 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
Dunajski, Bartosz 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
Mrozek, Michal 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
Dunajski, Bartosz 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
Dunajski, Bartosz 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
Dunajski, Bartosz 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
Dunajski, Bartosz 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
Dunajski, Bartosz 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
Milczarek, Slawomir 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
Milczarek, Slawomir 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
Milczarek, Slawomir 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
Piotr Fusik 603eee76e5 Use GPU pointers for HwPerfCounter.
Related-To: NEO-2872

Change-Id: Ia30f2ee0d96a3da05b8e5ecf55e9b7fb5a34ace7
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-04-18 16:28:48 +02:00
Piotr Fusik 086ef7c461 Simplify code by introducing TimestampPacketStorage::Packet.
Related-To: NEO-2872

Change-Id: Ifce455f1a48f2db2bf16af2dd32208ee4542204d
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-04-18 16:14:04 +02:00
Milczarek, Slawomir c6247873f5 Add comments with kernel names to AUB files
Related-To: NEO-2783

Change-Id: Ib00e969b106301d712dc4c14af8208456bcabdb3
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2019-04-17 14:56:24 +02:00
Piotr Fusik 745c20c78a Rename TimestampPacket to TimestampPacketStorage.
Related-To: NEO-2872

Change-Id: Id1f78491912c44890ae7ead2cac12ec8eb073628
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-04-16 15:34:28 +02:00
Mrozek, Michal 50270d74f7 Force blocking when device enqueue requires aux translation.
Change-Id: Ia1af6d8d3f18fc0a40994ffe10d50573b884345c
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-04-15 16:13:35 +02:00
Maciej Plewka da19e924f5 Add events support for cache flushes
Related-To: NEO-2536

Change-Id: Iea9e9b08df0225ce5a126ab950621576b3880bbe
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2019-04-15 15:44:25 +02:00
Mrozek, Michal 9ae29ecfc8 Move unrecoverable.
Change-Id: Ia8460ac7d9acdd9e4180ab4b87d2adb18699a8a8
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-04-10 11:44:03 +02:00
Maciej Plewka 4eb48e3d06 Add function to flush caches
Related-To: NEO-2536

Change-Id: Ifbf7e7a42514dd66eb0914f9d13407287481e123
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2019-04-05 09:48:50 +02:00
Mrozek, Michal 4cb060fc46 Remove not needed code.
Change-Id: Idcbc53f22cc3a3f1c3acb4b2a620372d6102b12b
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-04-03 12:17:53 +02:00
Maciej Dziuban 68311588e6 Delete CommandQueue argument from dispatchScheduler
Change-Id: Icbda4d6887d7f0001e3081aef1fa69edc1169782
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2019-04-01 11:13:37 +02:00
Maciej Plewka 9e52684f5b Change namespace from OCLRT to NEO
Change-Id: If965c79d70392db26597aea4c2f3b7ae2820fe96
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2019-03-26 15:48:19 +01:00
Liwei Wang ca4b47f7f4 Add support of GPU preemption (v1.00).
https://github.com/intel/compute-runtime/pull/119

Change-Id: I3134d62b66751c8621b80002373a7a9b198e044e
2019-03-22 08:49:11 +01:00
Koska, Andrzej fcdfcb3fc4 Pass enqueued values to enqueueHandler
Change-Id: I991818657c7cafaf8911ce711a87a6c7b4531517
Signed-off-by: Koska, Andrzej <andrzej.koska@intel.com>
2019-03-13 11:23:37 +01:00