Commit Graph

1694 Commits

Author SHA1 Message Date
Dominik Dabek 0cea7fe6d1 Fix allocating small buffers from pool
Wait for engine completion before freeing from pool

Related-To: NEO-7332

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-11-16 17:22:28 +01:00
Szymon Morek a66e69abc9 Prealloc cmd buffer for CSR only when being used
Related-To: NEO-7361

Currently additional command buffer is
preallocated for all CSRs, even for those which
won't be used by application. This PR changes that

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-11-15 20:06:29 +01:00
Kamil Kopryk 0e47bcde1d Move ClCoreHelper ownership to RootDeviceEnvironment 4/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>

Use RootDeviceEnvironment getHelper<ClCoreHelper> for
- isSupportedKernelThreadArbitrationPolicy
- getSupportedThreadArbitrationPolicies
2022-11-15 17:24:11 +01:00
Kamil Kopryk 9564af14f5 Move ClCoreHelper ownership to RootDeviceEnvironment 3/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>

Use RootDeviceEnvironment getHelper<ClCoreHelper> for
- getQueueFamilyName
- getKernelPrivateMemSize
- preferBlitterForLocalToLocalTransfers
2022-11-15 15:45:33 +01:00
Kamil Kopryk ca06046f84 Move ClCoreHelper ownership to RootDeviceEnvironment 2/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>

Use RootDeviceEnvironment getHelper<ClCoreHelper> for
- allowCompressionForContext
- getAdditionalDisabledQueueFamilyCapabilities
2022-11-15 14:02:16 +01:00
Kamil Kopryk 1d4240a0c8 Move ClCoreHelper ownership to RootDeviceEnvironment 1/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>

Use RootDeviceEnvironment getHelper<ClCoreHelper> for
- requiresNonAuxMode
- requiresAuxResolves
2022-11-15 10:35:22 +01:00
Kamil Kopryk 05aea7ebc8 Move hwHelper ownership to RootDeviceEnvironment 3/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>

Use RootDeviceEnvironment getHelper<CoreHelper> for
- getComputeUnitsUsedForScratch
- getPitchAlignmentForImage
2022-11-15 10:22:48 +01:00
Kamil Kopryk 211cc8552a Move hwHelper ownership to RootDeviceEnvironment 4/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>

UseRootDeviceEnvironment getHelper<CoreHelper> for:
- isLocalMemoryEnabled
- getSipKernelType
- is1MbAlignmentSupported
2022-11-15 08:23:53 +01:00
Kamil Kopryk 1e0a2b897f Introduce getHelper - helper getter for ClHwHelper and L0HwHelper
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-11-14 15:54:45 +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
Milczarek, Slawomir 25a5ed0dca Allocate buffers in local memory for PVC multi root device platforms (1/n)
PVC platform with no support for atomic operations on system memory
must always allocate buffers in local memory to avoid atomic access violation.
Note: the feature is being implemented under the new registry key
AllocateBuffersInLocalMemoryForMultiRootDeviceContexts (disabled by default)

Related-To: NEO-7092

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-11-14 13:56:50 +01:00
Kamil Kopryk 4aa1697e3c Move hwInfoConfig ownership to RootDeviceEnvironment 2/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>

Use RootDeviceEnvironment getHelper<ProductHelper> for
- adjustSamplerState
- adjustPlatformForProductFamily.
2022-11-14 13:04:31 +01:00
Dunajski, Bartosz 5266a95c03 Debug flag to control auto grf mode
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-11-10 19:25:58 +01:00
Kamil Kopryk 002a90c717 Move hwHelper ownership to RootDeviceEnvironment 2/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>

UseRootDeviceEnvironment getHelper<CoreHelper> for:
- getMaxBarrierRegisterPerSlice
- getPaddingForISAAllocation
2022-11-10 16:39:39 +01:00
Kamil Kopryk c82038565e Unify isTimestampWaitSupportedForEvents helper function
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>

No need to keep isTimestampWaitSupportedForEvents function
in hwHelper and in hwInfoConfig helper, move it to hwInfoConfig instead.
2022-11-10 15:24:14 +01:00
Krystian Chmielewski f0f545eee7 refactor(ocl tests): program get build info tests
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-11-09 13:09:09 +01:00
Dominik Dabek 30fe24aa79 Avoid cmpexchg due to CPU Hardware limitation
Limit the amount of times compare_exchange_weak is called,
to avoid issues with contention when multiple cpu cores request
the same address.

Related-To: NEO-7030

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-11-08 17:11:52 +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
Kamil Kopryk 68300a9605 Correct typo - createFunc
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-11-08 09:16:43 +01:00
Warchulski, Jaroslaw 6cbb3cfb05 Cleanup includes 3
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-07 14:52:31 +01:00
Warchulski, Jaroslaw fb25f96081 Cleanup includes 2
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-07 10:36:50 +01:00
Warchulski, Jaroslaw ef95bfb45e Cleanup includes
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-04 18:04:13 +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
Krystian Chmielewski 78d75dee0f Use mock in KernelArgInfoTest
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-11-04 14:09:47 +01:00
Luzynski, Sebastian Jozef 91c69e0fe7 Patch global variables and constants once
This change replaces mechanism of patching global constants and
variables in kernel per relocation to patching them only once. This
would improve linking time performance for kernels with multiple global
symbols.

Signed-off-by: Luzynski, Sebastian Jozef <sebastian.jozef.luzynski@intel.com>
2022-11-03 17:45:09 +01:00
Kacper Nowak 709e322a4a feat(zebin): get extended args metadata on clGetKernelArgInfo API call
This commit adds support for retrieving extended args metadata passed in
.kernel_misc_info zeInfo's section on clGetKernelArgInfo call.

Related-To: NEO-7372
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-11-03 13:15:09 +01:00
Krystian Chmielewski 69bef975f0 OCL cache per thread data
Add caching mechanism for local ids in OCL.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-11-02 17:07:29 +01:00
Maciej Plewka 7f38c5e633 Revert "Return error code for unsuported image arg in gen12lp"
This reverts commit bbc31e6aac


Signed-off-by: Maciej Plewka maciej.plewka@intel.com
2022-11-02 12:57:16 +01:00
Maciej Plewka ff01b9361e Return error code when there is no space for scratch/private
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-11-02 11:55:18 +01:00
Dominik Dabek 6cf8b4daca Correct tg dispatch size heuristic
Multiply available thread count by tile count
if implicit scaling is used

Related-To: NEO-6989

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-10-27 17:24:53 +02:00
Mateusz Jablonski 2df001327a Unify meaning of RebuildPrecompiledKernels across OCL and L0 APIs
Resolves: NEO-7364
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-10-27 15:17:24 +02:00
Warchulski, Jaroslaw 903e3c725a Stop using gen files in unit tests
Related-To: NEO-6613
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-10-25 11:04:57 +02:00
Maciej Plewka bbc31e6aac Return error code for unsuported image arg in gen12lp
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-10-24 16:54:10 +02:00
Katarzyna Cencelewska 2137ece808 Revert "Add missing check during buffer create"
This reverts commit 54faccb.

Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-10-24 09:22:52 +02:00
Compute-Runtime-Validation 052164c559 Revert "Use total SLM instead of inline in error checking"
This reverts commit e1c49d0f23.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-10-22 09:41:36 +02:00
Fabian Zwolinski e1c49d0f23 Use total SLM instead of inline in error checking
Related-To: NEO-7280
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2022-10-21 12:39:48 +02:00
Kamil Diedrich 380e2dcc35 [WSL2] Avoid gdi calls while process exit
Related-To: NEO-7380
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-10-21 12:37:07 +02:00
Dominik Dabek d1a6054af9 enable create subBuffer from pooled buffer
Allow creating subBuffer from buffer from buffer pool allocator
by redirecting the call to the pool buffer and adjusting offset

Related-To: NEO-7332

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-10-19 09:33:10 +02:00
Kacper Nowak f06df021b5 feat(zebin): Add support for indirect stateless count
Add support for newly added indirect statelss count check;
populate related field in kernelInfo.
- Move hasIndirectStatelessAccess check from KernelInfo to
KernelDescriptor.

Related-To: NEO-7428
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-10-19 07:58:02 +02:00
Zbigniew Zdanowicz 565d820933 Replace virtual method call for DC flush with stored bool value 3/n
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-10-18 15:04:02 +02:00
Dominik Dabek e151bc6e2d [OCL] Flag for allocating small buffers from pool
Improves performance in workloads that create small opencl buffers.

To enable, set env var ExperimentalSmallBufferPoolAllocator=1

Known issues (will be addressed in further commits):
- cannot create subBuffer from such buffer
- pool buffer allocation should be reused

Related-To: NEO-7332

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-10-14 12:18:42 +02: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
Kacper Nowak 2285772c7e Disable zebin on pre-Gen12 platforms when debugger is active
On pre-Gen12 platform we use igfxdcd kernel module for debugging, which
does not support zebinary format.
- When platform is pre-Gen12 an and debugger is
attached, if binary format is zebin and it's not a builtin:
- If SPIR-V is available - force rebuild with zebin disabled
- Otherwise, return an error.
- Minor refactor: extend check for ir presence for each case of
rebuilt in OCL.

Related-To: NEO-7328
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-10-13 17:27:48 +02:00
Compute-Runtime-Validation 945897cf55 Revert "Replace virtual method call for DC flush with stored bool value 3/n"
This reverts commit 9d94089a95.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-10-13 04:46:10 +02:00
Compute-Runtime-Validation c2ce19ff36 Revert "Include dynamic SLM in clGetKernelWorkGroupInfo"
This reverts commit 320b020dd6.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-10-12 22:58:58 +02:00
Zbigniew Zdanowicz 9d94089a95 Replace virtual method call for DC flush with stored bool value 3/n
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-10-12 14:38:47 +02:00
Zbigniew Zdanowicz 87822f94e2 Replace virtual method call for DC flush with stored bool value 2/n
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-10-12 09:43:01 +02:00
Compute-Runtime-Validation 7c6783c4a1 Revert "Return error when image arg does not support media block commands"
This reverts commit e56d18b69f.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-10-12 03:58:33 +02:00
Maciej Plewka e56d18b69f Return error when image arg does not support media block commands
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-10-11 15:47:27 +02:00
Katarzyna Cencelewska 54faccb53e Add missing check during buffer create
if isLockable is set do not lockResource, to avoid debug break
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-10-11 12:44:15 +02:00