Commit Graph

338 Commits

Author SHA1 Message Date
Mrozek, Michal
9d723a10aa Move enumerateLeak to core.
- remove not used parameter.
- remove the usage of default parameters.
- move some constants to memory management as well.

Change-Id: Iedf374568fa3594ffad6b53534e4483485863324
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-07-15 13:53:03 +02:00
Dunajski, Bartosz
ddb0d82e83 Introduce RegisteredMethodDispatcher.
- Inject dispatch methods per DispatchInfo
- Each DispatchInfo in MultiDispatchInfo can have different behaviour
- Implement AuxTranslation programming with new approach

Change-Id: Ie28de0c72a77b8e91509a5b9b8740d72fedf4ad6
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-07-15 11:59:53 +02:00
Mateusz Jablonski
a72109d209 Correct residency of private scratch allocation
Related-To: NEO-3190

Change-Id: Ia18e2d2ce5e30901f55e7a050a3e453fb4969ada
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-07-15 11:31:43 +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
Pawel Wilma
bb5f6bf4b1 Built-in kernels refactor
Related-To: NEO-3220

Change-Id: I6625539554b56999a6a810e7be8e89435d1aef11
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2019-07-12 13:17:59 +02:00
Mrozek, Michal
0440b86d05 Rename SVM Memory Manager to Unified Memory Manager.
Change-Id: I1d7637a5aaca3ef5190c4f6303c81060f95744a9
2019-07-12 11:22:09 +02:00
Dunajski, Bartosz
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
Mrozek, Michal
a38e9da034 Optimize marker call in blocked scenarios.
- Do not emit batch buffer
- obtain completion stamp directly from csr

Change-Id: I7ff58f2f019ee8158665f6fb93682ce5aae17bd6
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-07-10 11:01:49 +02:00
Mrozek, Michal
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
Mrozek, Michal
baa11187c3 Simplify isStatusCompletedByTermination.
- remove default parameter.
- remove branch.

Change-Id: Ia829adfc684057516a2fc204e853ad3948853e22
2019-07-09 09:48:16 +02:00
Mrozek, Michal
7f7f1b8ac9 Optimize waiting scheme in user events scenarios.
- do not wait on map/unmap if zero copy resource.
- do not wait in marker commands at all.

Change-Id: I74cdd8320d13602bf662eed412ed2fcad1504989
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-07-08 17:40:36 +02:00
Mrozek, Michal
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
Dunajski, Bartosz
0a8a77d47c Move enqueue blit logic to enqueueHandler
Change-Id: Ibbad22906387c15243708d37b272601f4734697d
Related-To: NEO-3020
2019-07-08 12:37:06 +02:00
Pawel Wilma
fac8c94c1e Revert "Built-in kernels refactor"
This reverts commit 40b00c7e8a.

Change-Id: I8c13be5134c051272db1fe1b7b15764cf8ad6953
2019-07-04 16:33:01 +02:00
Mateusz Jablonski
009dbc45e2 Update test for reusing heap memory
Change-Id: Iab447afd8633e05947b6732a2d1fcf9762e521a8
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-07-04 12:24:12 +02:00
Pawel Wilma
40b00c7e8a Built-in kernels refactor
Related-To: NEO-3220

Change-Id: I4a44a71fe30abd38409de7e9741a3b389b967612
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2019-07-03 14:58:32 +02:00
Mrozek, Michal
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
Daria Hinz
42b87654eb Add preemption allocation for each of the Csr
Change-Id: Id14fbfbf6e9a6a85f035e75b4a20ca198c0996e5
Signed-off-by: Hinz <daria.hinz@intel.com>
2019-07-03 08:17:38 +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
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
Venevtsev, Igor
165d1e4e55 Use GfxPartition for GPU address range allocations
[2/n] - OsAgnosticMemoryManager

Related-To: NEO-2877

Change-Id: I887126362381ac960608a2150fae211631d3cd5b
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-06-25 12:54:20 +02:00
Filip Hazubski
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
Mrozek, Michal
2e8e625024 [5/n] Unified Shared Memory
- Add kernel support for host um allocations
- During make resident call choose only appropriate resources for residency
- change resource types to binary bit friendly values
- enhance memory manager to only make resident compatible types

Related-To: NEO-3148

Change-Id: Ic711a4425a0d8db151a335e0357440312dc09b7e
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-17 15:47:30 +02:00
Mrozek, Michal
be48b56732 Kernel refactor.
- Change function names to indicate they work on SVM allocations.
- Remove one function used only in tests.

Change-Id: I9b18d9fee3d4f2a46a7f458ca73d39b3863ce6d3
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-14 10:27:21 +02:00
Jobczyk, Lukasz
329d940285 Add multiStorageResource flag to AllocationProperties
Related-To: NEO-3242

Change-Id: If31adaead389acd3bef6af1931b91396c43b305e
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-06-14 06:59:28 +02:00
Mrozek, Michal
4188f6dce8 [1/n] Unified Shared Memory
- Add Internal Allocation type to differentiate SVM allocs from UM allocs.
- Add API to make internal allocations resident.
- Add API to allocate UM.

Related-To: NEO-3148

Change-Id: I9787891c5a0ffccac45c43bc5fde4ea50f37d703
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-13 14:48:02 +02:00
Milczarek, Slawomir
8998f89886 HostPtr allocation with life time of image object for CL_MEM_USE_HOST_PTR
Related-To: NEO-3231

Change-Id: I4869e55b3c4b5217c83cc0b53d8c9f8c14b524b2
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2019-06-13 10:35:48 +02:00
Koska, Andrzej
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
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
Koska, Andrzej
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
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
Koska, Andrzej
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
Dunajski, Bartosz
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
Jaime Arteaga
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
Maciej Plewka
f2a8fc7ea9 Print_formatter refactor
Change-Id: Icb03697281b009c853d91a63d5d21ffcde545a8f
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2019-05-23 21:37:50 +02:00
Koska, Andrzej
3d3e6b9531 Testing enqueueSVMMemcpy with host pointer
Related-To: NEO-3011
Change-Id: I179089e078361dd2449f78e75f1d6edd3f5235de
Signed-off-by: Koska, Andrzej <andrzej.koska@intel.com>
2019-05-23 09:47:29 +02:00
Koska, Andrzej
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
Hoppe, Mateusz
4d9db473a0 Skip ZeroSizeEnqueueHandlerTest SVM tests when ftrSVM == false
Related-To: NEO-3157

Change-Id: I807dbe8a71faff6df5244a43a6451b00eb5a02c3
Signed-off-by: Hoppe, Mateusz <mateusz.hoppe@intel.com>
2019-05-15 11:12:32 +02:00
Mateusz Jablonski
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
Filip Hazubski
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
Hoppe, Mateusz
2b09ed85d6 Run EnqueueSvmMemFillTest only when SVM is supported
Related-To: NEO-3157

Change-Id: I29d1a0bd99cef4644c31d896ff2dfe96a5fee81c
Signed-off-by: Hoppe, Mateusz <mateusz.hoppe@intel.com>
2019-05-14 12:24:45 +02:00
Hoppe, Mateusz
f6dfa1ac9d Skip EnqueueSvmTest / EnqueueSvmTestLocalMemory when SVM unavailable
Related-To: NEO-3157

Change-Id: Icc1b2f4be099f4295c441a9042a004b314fef0b0
Signed-off-by: Hoppe, Mateusz <mateusz.hoppe@intel.com>
2019-05-13 14:14:59 +02:00
Milczarek, Slawomir
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
Dunajski, Bartosz
0f87e9aa1a Rename HardwareInfo members
Change-Id: I85f56b677bafdd75dd958b488522393fc18b68af
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-05-09 09:13:55 +02:00
Dunajski, Bartosz
bb80d327c7 Move HardwareInfo ownership to ExecutionEnvironment [1/n]
Change-Id: I5e5b4cc45947a8841282c7d431fb69d9c397a2d4
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-05-08 16:11:01 +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
Mrozek, Michal
c269bc062f Limit overestimation in multi kernel scenarios.
- There was overestimation that resulted in each kernel getting
page aligned estimation size.
- After this change every kernel aligns only to cache line and final
size is aligned to page size.

Change-Id: Iee06bdd0083724ea7e9415f3d0fe70198acca407
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-04-23 17:46:53 +02:00
Filip Hazubski
fae1d882f8 Add SvmAllocationProperties
Change-Id: Ie96aeab5597a1b3f2db8611a8a04597516730ce8
Related-To: NEO-2535
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-04-23 10:30:04 +02:00