Commit Graph

101 Commits

Author SHA1 Message Date
Filip Hazubski
8d55bfe21d Implement zeCommandListAppendLaunchCooperativeKernel
Resolves: NEO-4725


Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-03-22 19:26:41 +01:00
Mateusz Jablonski
35d2325361 Remove KernelDeviceInfo struct
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-22 14:25:23 +01:00
Mateusz Jablonski
12458fb183 Remove loops over devices from Kernel's methods
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-22 11:57:24 +01:00
Mateusz Jablonski
7a58e7bc3e Pass Device to Kernel
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-19 17:44:54 +01:00
Igor Venevtsev
52e118fe49 Add extra parameters to Buffer::setSurfaceState() method
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2021-03-16 10:17:59 +01:00
Mateusz Jablonski
04eca48ee0 Introduce MultiDeviceKernel class
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-15 11:46:52 +01:00
Krystian Chmielewski
41f3bd00ff Remove PatchTokens from KernelInfo
Use KernelDescriptor instead of patchTokens stored in KernelInfo's
patchInfo.
Removed: SPatchMediaInterfaceDescriptorLoad, SPatchAllocateLocalSurface,
SPatchMediaVFEState(slot 0), SPatchMediaVFEState(slot 1),
SPatchInterfaceDescriptorData, SPatchSamplerStateArray,
SPatchBindingTableState, SPatchDataParameterBuffer,
SPatchDataParameterStream, SPatchThreadPayload,
SPatchKernelAttributesInfo, SPatchAllocateStatelessPrivateSurface,
SPatchAllocateSyncBuffer,
SPatchAllocateStatelessConstantMemorySurfaceWithInitialization,
SPatchAllocateStatelessGlobalMemorySurfaceWithInitialization,
SPatchAllocateSystemThreadSurface.

Related-To: NEO-4729
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-03-09 17:09:13 +01:00
Krystian Chmielewski
583a57c159 Use defaultQueueSurfaceAddress arg instead of patchToken
Use KernelDescriptor's defaultQueueSurfaceAddress arg instead of storing
SPatchAllocateStatelessDefaultDeviceQueueSurface token in KernelInfo's
patchInfo.

Related-To: NEO-4729
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-02-26 15:44:40 +01:00
Jaime Arteaga
722a80079b Add experimental_properties for indirect access (2)
Add support to OpenCL to also make use of indirect access properties
provided by IGC and to make use of DisableIndirectAccess debug key.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-02-25 11:41:24 +01:00
Krystian Chmielewski
9bb229f771 Use printfSurfaceAddress arg instead of patchToken
Use KernelDescriptor's printfSurfaceAddress arg instead of storing
SPatchAllocateStatelessPrintfSurface token in KernelInfo's patchInfo.

Related-To: NEO-4729
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-02-24 15:51:30 +01:00
Krystian Chmielewski
8e927b5484 Use EventPoolSurfaceAddress arg instead of PatchToken
Use KernelDescriptor's deviceSideEnqueueEventPoolSurfaceAddress argument
instead of storign SPatchAllocateStatelessEventPoolSurface token in
KernelInfo's patchInfo.

Related-To: NEO-4729
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-02-24 11:56:06 +01:00
Katarzyna Cencelewska
9d0422cf69 Add hwInfo to sampler setArg and appendSamplerStateParams
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2021-02-11 14:21:13 +01:00
Igor Venevtsev
3df6110a17 Add extra parameters to setArgStateful()
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2021-02-05 12:24:27 +01:00
Sebastian Luzynski
0871c1bb76 Adjust clGetKernelWorkGroupInfo api call
Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
2021-02-05 10:58:00 +01:00
Mateusz Jablonski
f583ec7d8f Revert "Create a new class for handling multi device SVM arguments in kernel"
This reverts commit 00b2a28818.

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-01-26 16:06:53 +01:00
Mateusz Jablonski
00b2a28818 Create a new class for handling multi device SVM arguments in kernel
set arg SVM for devices in Kernel

Related-To: NEO-5001


Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-01-22 15:53:02 +01:00
Lukasz Jobczyk
40390f7775 Add simple kernel tunning variant
Related-To: NEO-5327

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-01-13 11:09:22 +01:00
Slawomir Milczarek
068cb09c90 Add function to check for USM host allocations in SVM Allocs Manager
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2021-01-12 15:41:24 +01:00
Slawomir Milczarek
d605234843 Add function to check if kernel has indirect stateless access to host memory
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2021-01-11 15:31:47 +01:00
Slawomir Milczarek
55f3c8f134 Add resolve capability for compressed USM device allocations
Related-To: NEO-5107

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2021-01-08 12:16:26 +01:00
Lukasz Jobczyk
239f37da64 Introduce kernel tunning under debug flag
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-12-30 14:05:55 +01:00
Mateusz Jablonski
50841bfd0d Set arg local for all devices in Kernel
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-29 12:40:53 +01:00
Mateusz Jablonski
be7ae13911 Store SLM sizes per root device in Kernel
reduce usages of getDefaultKernelInfo

Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-22 17:37:43 +01:00
Mateusz Jablonski
c3083592ad Set arg immediate for all Kernel devices
convert tests to multi root device scenario

Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-18 15:56:23 +01:00
Mateusz Jablonski
ee0523ae23 Correct device usage in kernel methods
pass device to substituteKernelHeap
use proper device when iterating over devices

Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-17 14:46:46 +01:00
Mateusz Jablonski
c3c92416db Enable memory transfer for mem obj kernel args
correct building programs with multiple root devices

Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-17 11:14:33 +01:00
Mateusz Jablonski
55fb319517 Set arg buffer for all Kernel devices
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-16 17:27:52 +01:00
Krystian Chmielewski
4948c39d39 Remove executionEnvironment from KernelInfo
Related-To: NEO-3739
2020-12-16 14:56:57 +01:00
Slawomir Milczarek
847bad4763 Add function to check if kernel has direct stateless access to host memory
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-12-16 10:06:17 +01:00
Mateusz Jablonski
798256ed61 Initialize Kernel for all devices
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-11 17:11:28 +01:00
Mateusz Jablonski
c0fb03425b Optimize getDefaultKernelInfo method
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-11 13:45:13 +01:00
Mateusz Jablonski
55a75f7cfc Correct setting global work offset Z
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-11 12:36:59 +01:00
Mateusz Jablonski
aa1fc85257 Store device specific kernel members per root device
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-10 17:57:39 +01:00
Mateusz Jablonski
350ec9f16b Pass root device index to get proper kernel info
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-09 19:11:43 +01:00
Mateusz Jablonski
c8d1e082dd Update getKernelInfo method
add root device index parameter to return proper kernel info

Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-08 09:14:44 +01:00
Mateusz Jablonski
0d943e95c4 Store KernelInfo per root device in Kernel
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-07 12:22:28 +01:00
Mateusz Jablonski
a7e1db9886 Reduce usage of getDevice method of Kernel
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-26 14:26:58 +01:00
Mateusz Jablonski
b85a8ace68 Pass root device index to Kernel's methods
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-25 12:49:15 +01:00
Mateusz Jablonski
7ec69c33f9 Store SSH per root device in Kernel
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-24 17:57:31 +01:00
Mateusz Jablonski
52d96af5f0 Use device from API function in clGetKernelWorkGroupInfo/SubGroupInfo
store execution environment reference in Kernel class

Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-24 17:45:59 +01:00
Mateusz Jablonski
8fdc35bb4b Disallow compiling/building program if it has attached Kernels
allow for creating kernel if the program is built for at least one device

Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-23 18:15:44 +01:00
Mateusz Jablonski
a67e829fa8 Store crossThreadData per root device in Kernel
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-20 20:49:50 +01:00
Mateusz Jablonski
33a487e2cc Create structure for per root device members in Kernel
make private surface per root device

Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-18 17:36:05 +01:00
Maciej Plewka
28de4068c9 Read bindless offset from patch token
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-11-18 17:04:00 +01:00
Mateusz Jablonski
97119f5f3e Store ClDevice in DispatchInfo
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-17 10:29:20 +01:00
Mateusz Hoppe
0f42ef1ed7 Differentiate between users ISA and internal ISA allocation
Related-To: NEO-5240

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-11-16 13:16:30 +01:00
Mateusz Jablonski
a1b5d5a335 Dont pass device to Kernel's ctor
Kernel should reuse devices from program

Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-13 11:42:48 +01:00
Mateusz Jablonski
5787d86575 Minor cleanup in Kernel class
setup default values in header file

Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-12 19:24:58 +01:00
Mateusz Jablonski
61d61e8b1c Remove Program::pDevice
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-10 11:25:41 +01:00
Krystian Chmielewski
0d35af9327 KernelInfo refactor
Using kernelDescriptor.kernelAttributes.requiredWorkgroupSize

Change-Id: I2533c6f1d4a9b2cf5c141ba7fdd516d4c9d88502
2020-10-30 14:05:46 +01:00