Commit Graph

115 Commits

Author SHA1 Message Date
Mateusz Jablonski 7098e9c5f2 Store single KernelInfo in Kernel
remove root device index from Kernel's methods

Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-22 21:30:03 +01:00
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
Mateusz Jablonski 487f10f999 Use MultiDeviceKernel instead of Kernel in clCloneKernel
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-18 20:19:54 +01:00
Mateusz Jablonski a612bb32a3 Call MultiDeviceKernel's methods on each kernel
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-18 11:56:31 +01:00
Mateusz Jablonski b07f0e81b7 Store multiple Kernels in MultiDeviceKernel
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-17 10:27:03 +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 6f2a8e8a1c Correct nullptr SVM arg handling
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-01-25 15:43: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
Jobczyk, Lukasz 343fd602fa Add method to submit kernel on single subdevice
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2020-12-01 22:15:05 +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
Sebastian Luzynski 556b6cd457 Add concurrent kernel execution type
Related-To: NEO-4940
Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
2020-11-20 16:12:42 +01:00
Mateusz Jablonski 2003fe46a6 Don't store Context in Kernel
reuse Context from Program

Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-19 13:38:18 +01:00