Commit Graph

226 Commits

Author SHA1 Message Date
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
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
4948c39d39 Remove executionEnvironment from KernelInfo
Related-To: NEO-3739
2020-12-16 14:56:57 +01:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
28de4068c9 Read bindless offset from patch token
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-11-18 17:04:00 +01:00
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
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
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
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
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
0d35af9327 KernelInfo refactor
Using kernelDescriptor.kernelAttributes.requiredWorkgroupSize

Change-Id: I2533c6f1d4a9b2cf5c141ba7fdd516d4c9d88502
2020-10-30 14:05:46 +01:00
345e56a151 Zebin improvements
* cleaning-up per-thread buffer size calculations
* fixing default slm alignment to 16
* adding scratch space slots
* renaming slm addressing mode
* adding support for zeinfo version

Change-Id: I0450353788b8488a685976d7f1dd26a44360383c
2020-10-29 16:33:21 +01:00
225e7f01b4 Add checks for correct engine for concurrent kernels.
Related-To: NEO-5135
Change-Id: Ib1c37ec8d5e468de331521ae4be1cd92902a2330
Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
2020-10-26 14:53:52 +01:00
0738ad5a82 Add ClHwHelper
Related-To: NEO-3964

Change-Id: Ib2660e8f7d92fc970172517b3e2ddfd607e09ec1
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-10-22 13:03:07 +02:00
1926ef8319 is_simt_thread token support
Change-Id: I8cee6ff26229f0f492ba0d1e5e61d6e46e0c2486
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-10-21 14:14:43 +02:00
9f08a60a20 KernelInfo Refactor
Using kernelDescriptor.kernelMetadata.kernelName instead of
kernelInfo.name

Change-Id: I11f5721d8072a3beccb573cec4bea56cf14cf0f9
2020-10-20 13:18:09 +02:00
0c3d430f50 W/A for disabling RCC RHWO for compressed media surfaces on gen12lp
Whenever media compressed surface is used, the RCC Read-Hit-Write optimization
disable bit (14) has to be set in Common Slice Chicken1 register (7010h).

Related-To: NEO-4982

Change-Id: I71b91b52692252459da05b737838eb4854575974
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2020-10-13 11:52:15 +02:00
2ebee73e4b Unify bindless debug flags
Change-Id: I6a9313722eed01b935707e93cad532adddcc78af
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-10-09 14:49:50 +02:00
fb0651521d Linker: Fix incremental patching for local memory allocations
Change-Id: Ib85e4a2abc8a62477003853aa0c35f8107444f4e
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-10-09 09:13:42 +02:00
47f5867e8f Move common code to shared directory
Change-Id: I5f604de01e06d35cc1e045fffdd4a26d88ffca8c
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-10-07 10:55:39 +02:00
5f7b763ce5 Use kernel info to determine if AUX resolves required
This commit decouples the logic for AUX resolves from set kernel arg handlers.

Related-To: NEO-5107

Change-Id: I4c2912dc18633bcaefddb03cc6966e859d95262c
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-10-06 09:56:49 +02:00
f838f667b1 Add context flag for resolve requiring kernels
Related-To: NEO-5127

Change-Id: Ia5da17735232504aabbca6b0df46ced4dfba3190
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-09-28 10:34:00 +02:00
d24850cff3 Alter API with additional kernel exec info.
Related-To: NEO-4875
Change-Id: I10a5e3bfc32be520c3554c992dc36591fc1ff599
Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
2020-09-25 13:00:24 +02:00
1f240862ce Move surface allocations from Program to BuildInfo
Related-To: NEO-5001
Change-Id: Icf011698fc166285d049b052d59c709c7419e105
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-09-16 12:01:46 +02:00
867b3d5492 Add getAdditionalWorkGroupInfo stub
Change-Id: I4b51e531c2e3da1c616c1f0eb038abd60e47c4f0
2020-08-19 15:54:50 +02:00
76328b8247 Always initialize Kernel::threadArbitrationPolicy
Resolves: NEO-4824

Change-Id: I2ba24bec1a4cc2d1573ca7283a68ea0d94c73ff0
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-08-04 13:07:39 +02:00
77f50e5444 Always pass device bitfield to AllocationProperties in constructor
Related-To: NEO-4722

Change-Id: Ie2475bf92a3189bcb9073bec5bf5af709e597c5d
Signed-off-by: Andrzej Swierczynski <andrzej.swierczynski@intel.com>
2020-07-13 09:00:10 +02:00
c3a1880492 Do not allocate PRIVATE_SURFACE large than 4GB
Related-To: NEO-4479

Change-Id: I97ffa25e9af94e0125e1eaaebeddfdac49205241
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2020-07-09 13:09:49 +02:00
913cfcf0a1 Pass device to KernelInfo::createKernalAllocation
Related-To: NEO-4722

Change-Id: Ica85fe3e1ff43a158337ff7049fbc8486f8f39fc
Signed-off-by: Andrzej Swierczynski <andrzej.swierczynski@intel.com>
2020-07-08 11:53:08 +02:00
3f64cc0e4d Improve debug flag to force aux translation
Change-Id: Ie17d3dc850de657144c7ba8b9bb7af85d77d4655
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-07-06 09:11:30 +02:00
5bc511b77d Remove MemObj::rootDeviceEnvironment
Pass Device to Buffer::setArgStateful

Related-To: NEO-4672
Change-Id: I0b7ed3ee578139f250c8470532dc0ae2eb2991e1
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-07-01 18:47:32 +02:00
c96fd30e4c Pass root device index to Buffer::setArgStateful
Related-To: NEO-4672
Change-Id: Ic846eac488809bd7d9534bb7378d9398acd36451
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-06-30 15:26:55 +02:00
1b3086a823 Pass root device index to setImageArg and setMediaImageArg methods
Related-To: NEO-4672
Change-Id: I983adfe32ca153e9edbeb5918bf923516758d200
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-06-25 11:47:47 +02:00
ec391d62ee Pass root device index to Buffer::setArgStateless
Related-To: NEO-4672
Change-Id: I3acb09b14588fd4aad253eb82c34d1c2d192a34e
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-06-25 11:33:04 +02:00
f5e9abae3d Pass root device index to setPipeArg function
Related-To: NEO-4672
Change-Id: I2f2034dd5e35a93c50f5ef7616b46ceb596a8412
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-06-24 14:15:13 +02:00
dd407681ff Check if kernel was compiled for debug
Related-To: NEO-4776

Change-Id: I54fe64430bf0c4d7972018367340a2ac88a94f99
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-06-23 08:51:31 +02:00