Commit Graph

191 Commits

Author SHA1 Message Date
Milczarek, Slawomir
1e8169ca3d Add bcs support for cross-device migrations of multi-graphics allocations
This commit adds a support for cross-device migration to bcs enqueue path
exercised for CL enqueue rea/write, map, unmap calls, controlled with
the regkey AllocateBuffersInLocalMemoryForMultiRootDeviceContexts.

Related-To: NEO-7092

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-01-03 14:09:07 +01:00
Mateusz Hoppe
a2138e2ab9 perf: fix performance in enqueue path in OCL
add constexpr to if to only add extra if fo NDRange command

Related-To: NEO-7603

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-12-30 13:32:15 +01:00
Kamil Kopryk
7c23ea3928 Refactor: don't use global ProductHelper getter in ocl files 2/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-29 09:41:39 +01:00
Compute-Runtime-Validation
876de37b92 Revert "Feature(OCL) Use tag nodes for root device synchronization"
This reverts commit 547d1c37b3.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-12-24 19:14:33 +01:00
Maciej Plewka
547d1c37b3 Feature(OCL) Use tag nodes for root device synchronization
With this commit events created on multi root device contexts will
synchronize using signaled TagNodes instead of using taskCounts.

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>

Related-To: NEO-7105
2022-12-23 15:48:54 +01:00
Naklicki, Mateusz
810241e2a8 Remove unused useSingleSubdevice flag
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2022-12-16 12:15:12 +01:00
Kamil Kopryk
232b886056 Rename HwInfoConfig to ProductHelper
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-14 14:39:52 +01:00
Kamil Kopryk
03b687881f Rename HwHelper -> GfxCoreHelper
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-09 10:29:06 +01:00
Lukasz Jobczyk
573ac33e1d Enqueue marker before split when OOQ barrier have to be handled
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-12-07 17:15:41 +01:00
Dominik Dabek
4adba15dbb Update for resolving dependencies by pipecontrol
Flag ResolveDependenciesViaPipeControls now removes only same csr
dependencies. Still enables pipe controls.

Works through hwInfoConfig method isResolveDependenciesByPipeControlsSupported

Related-To: NEO-7321

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-12-05 15:48:49 +01:00
Maciej Plewka
4b42b066f8 Use dedicated using type for TaskCount
Related-To: NEO-7155

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-11-28 16:44:44 +01:00
Dunajski, Bartosz
3f962bf3e8 RelaxedOrdering: Improve dependencies tracking
Avoid not needed scheduler programming
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-11-28 16:00:21 +01:00
Naklicki, Mateusz
914939c377 Fix execution of cooperative kernels on multi-tile device
Add flag for forcing execution of kernels on single tile
Force cooperative kernels to use only single tile

Related-to: NEO-6729
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2022-11-28 14:36:21 +01:00
Dunajski, Bartosz
bc619fcbec Queue stall mode for RelaxedOrdering
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-11-23 12:09:52 +01:00
Lukasz Jobczyk
0a07ea94c7 Enable bcs split for H2H transfers
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-11-14 14:23:02 +01:00
Mateusz Hoppe
f77f47099c OCL: Fix error for too big dimensions
- cases with null lws should only fail when computed
lws sizes result in too big number of workgroups

Related-To: NEO-6976

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-11-08 16:11:41 +01:00
Mateusz Jablonski
1c3d5c3892 Prepare mechanism for returning GPU execution error on OCL API
translate task count value to OCL error

Related-To: NEO-7412
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-04 15:54:19 +01:00
Lukasz Jobczyk
4faf1eeb52 Flush tag update while enqueue mem fill
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-10-14 11:46:39 +02:00
Mateusz Jablonski
23eff82d0a OCL: optimize creating printf buffer
Dont create printf buffer when kernel doesnt require it

Related-To: HSD-18023825570
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-09-30 12:25:57 +02:00
Lukasz Jobczyk
f65d2aeb87 Split copy along single dimension
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-09-08 12:39:06 +02:00
Lukasz Jobczyk
a9b3b8137f Release locks before wait on blocking BCS split calls
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-09-05 11:20:23 +02:00
Lukasz Jobczyk
0d6bef0753 Add BCS split to api specific config
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-09-05 11:13:10 +02:00
Compute-Runtime-Validation
20f49481f2 Revert "Enable BCS split WA in OCL"
This reverts commit d672920121.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-09-03 20:25:10 +02:00
Lukasz Jobczyk
d672920121 Enable BCS split WA in OCL
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-09-01 16:26:00 +02:00
Zbigniew Zdanowicz
c3f7e40a8d Rename special pipeline select mode to systolic
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-08-31 22:16:26 +02:00
Lukasz Jobczyk
a3dedcc7ee Add minimal transfer size for BCS split
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-08-31 21:28:40 +02:00
Lukasz Jobczyk
82e29fd048 Add bcs split control mask
Introduce debug variable to control which engines
the tranfser will be split into

Related-To: NEO-7173

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-08-19 13:21:10 +02:00
Krystian Chmielewski
18adbed233 feat(zebin): add thread scheduling mode support
Resolves: NEO-7197

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-08-18 16:10:18 +02:00
Lukasz Jobczyk
b10b3ed9dd Add initial enqueue bcs split infrastructure
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-08-18 15:02:08 +02:00
Cencelewska, Katarzyna
61510e9a92 Revert optimization of gpgpu csr's mutex lock in the enqueue blit
optimization available under flag
ForceCsrLockInBcsEnqueueOnlyForGpgpuSubmission

Related-To: NEO-7011
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2022-08-04 16:42:50 +02:00
Dunajski, Bartosz
a3903c385e Remove HW types from synchronization interface
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-07-25 13:59:26 +02:00
Kamil Kopryk
d4d54f5093 Cleanup includes
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-07-25 09:58:38 +02:00
Dominik Dabek
e88b24eb37 Remove flush on svmmap
No longer needed, problem was with reusing mem obj allocation.

Related-To: NEO-6948

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-07-20 17:26:15 +02:00
Zbigniew Zdanowicz
e07f9f0698 Add kernel algorithm to check any argument is using system memory
Related-To: NEO-6959

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-07-12 13:08:49 +02:00
Zbigniew Zdanowicz
461a2eb8c7 Refactor interface to hardware interface
Related-To: NEO-6959

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-07-05 11:54:33 +02:00
Dominik Dabek
39dfaf64bc Fix: Flush on svmMap on multi device 2/n
Previous fix was causing the runtime to get buffer size
without gfx allocation, causing a seg fault.

This commit moves the fix logic to enqueue handler,
only changing the enqueueProperties.

Related-To: NEO-6948

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-06-21 11:38:28 +02:00
Artur Harasimiuk
3f04769f07 style: configure readability-identifier-naming.FunctionCase
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-05-17 20:55:56 +02:00
Patryk Wrobel
9b2ad0c5df Detect GPU hangs in flushBcsTask()
This change introduces detection of GPU hangs in flushBcsTask()
function. The new code has been covered with ULTs.

Related-To: NEO-6681
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-05-12 16:17:16 +02:00
Bartosz Dunajski
e722afbefb Track waitlist TimestampPackets to avoid too early return to the pool
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-05-12 13:54:04 +02:00
Lukasz Jobczyk
ba63e3c4b5 Obtain BCS for aux translation only if needed
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-05-04 15:59:11 +02:00
Jobczyk, Lukasz
93fe8a4794 Optimize gpgpu csr's mutex lock in the enqueue blit
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2022-04-20 11:40:59 +02:00
Zbigniew Zdanowicz
f4407064a4 Refactor store register mem encoder to include partition parameter
Related-To: NEO-6811

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-04-06 14:00:56 +02:00
Dominik Dabek
76289be8c1 Avoid unnecessary allocation in enqueueHandler
Related-To: NEO-6837

kernelObjsForAuxTranslation will allocate only if needed

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-04-06 13:03:41 +02:00
Dominik Dabek
308f9ccfff Do not allocate dynamic state heap if not needed
Dynamic state heap is only used for sampler data.

Related-To: NEO-6821

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-03-31 12:13:13 +02:00
Jobczyk, Lukasz
d77a6cbe4b Enable task count update from wait
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2022-03-28 11:09:55 +02:00
Compute-Runtime-Validation
0c064ccf4c Revert "Enable task count update from wait"
This reverts commit 5118a5d3a6.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-03-25 00:09:52 +01:00
Lukasz Jobczyk
5118a5d3a6 Enable task count update from wait
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-23 11:38:50 +01:00
Patryk Wrobel
e4d56cde21 Detect GPU hangs in blocking enqueue handler calls
This change introduces detection of GPU hangs in blocking
calls to enqueueHandler() function. Moreover, usages of
this function template have been revised and adjusted to
check the exit code. Furthermore, enqueueBlit() and
dispatchBcsOrGpgpuEnqueue() functions returns value now.
ULTs have been added to cover new cases.

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
Related-To: NEO-6681
2022-03-22 21:06:19 +01:00
Lukasz Jobczyk
c8ba97e492 Restore gpgpu csr's mutex lock in the enqueue blit
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-10 13:36:46 +01:00
Lukasz Jobczyk
f91ae9d59c Add multithread enqueue blit OOQ test
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-07 11:17:27 +01:00