Commit Graph

127 Commits

Author SHA1 Message Date
Mateusz Jablonski 722f693e0f Set Context in program when using builtins
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-04-06 17:41:19 +02:00
Krystian Chmielewski 4808f663b6 Remove WorkloadInfo from KernelInfo
Related-to: NEO-4729

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-03-31 16:29:38 +02:00
Mateusz Jablonski 8215395401 Simplify Context method
return if context has multiple sub devices related to a given root device

Related-To: NEO-3691
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-30 10:22:15 +02:00
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
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
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
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
Mateusz Hoppe 4191dfdb43 Prepend -s option when -cmc is not used
Related-To: NEO-5582

- "-s filename" is added to build options
based on filename returned from debugger
- when "-cmc" is passed as first option, do not
modify user options.

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-03-01 18:17:25 +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
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
Filip Hazubski 65aecc84f1 Add __IMAGE_SUPPORT__ option for compilation
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-01-19 16:21:57 +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
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 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
Krystian Chmielewski 4948c39d39 Remove executionEnvironment from KernelInfo
Related-To: NEO-3739
2020-12-16 14:56:57 +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
Slawomir Milczarek e7772143a2 Add fixture with a simple stateless copy kernel
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-12-09 17:03:05 +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
Filip Hazubski c83087ea72 Correct generating extensions list for compiler in Program
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-12-03 18:58:19 +01:00
Kamil Diedrich 79d4af28de Switch to c++17
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2020-12-03 15:15:32 +01:00
Slawomir Milczarek b98af90896 Set kernel information about stateless accesses to host memory
Related-To: NEO-5107

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-12-01 16:31:40 +01:00
Mateusz Jablonski 077ae2726e Correct storing KernelInfos in multi device programs
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-01 16:15:37 +01:00
Mateusz Jablonski 2ee1d569c5 Store KernelInfo per root device in Program
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-01 11:38:23 +01:00
Maciej Plewka ded70b803d Use common compile bindless flag
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-11-27 14:28:55 +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
Filip Hazubski 0c51499679 Provide -ocl-version option when compiling with ocloc
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-11-18 14:27:39 +01:00
Filip Hazubski 59b74a8ea3 Do not provide -cl-feature option to the compiler
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-11-17 18:17:34 +01:00
Krystian Chmielewski 2ef52ff39c Refactor KernelInfo
Using kernelDescriptor's workgroupWalkOrder, workgroupDimensionsOrder
and requiresWorkgroupWalkOrder flag.

Related-To: NEO-3739
2020-11-17 18:00:16 +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
Filip Hazubski 4052525091 Update DestructorCallbacks helper
Move common logic to the helper.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-11-16 13:08:53 +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
Mateusz Jablonski 0aec0bdde4 Store program binary type per device
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-04 15:01:11 +01:00
Mateusz Jablonski e39af42137 Allow sub devices to reuse build status from root device
create DeviceBuildInfo struct for per-device info in program

Related-To: NEO-5001
Change-Id: I4048f3dd34240a4f937cc4a05935cba4f40a1872
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-03 14:44:47 +01:00
Mateusz Jablonski 21aa8388bc Correct program binary type when building program
Related-To: NEO-5001
Change-Id: Ib2915e85ab5dfaf6de146710709c7cd062c88b39
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-03 10:30:50 +01:00
Mateusz Jablonski 75d1ebb811 Use all devices when building program
remove Program::internalOptions
internal options are calculated separately in compile, link and build methods

Related-To: NEO-5001
Change-Id: I85ea2d64c72edb9b0e3f23244b59b9af20e2d357
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-02 19:37:55 +01:00
Krystian Chmielewski 0d35af9327 KernelInfo refactor
Using kernelDescriptor.kernelAttributes.requiredWorkgroupSize

Change-Id: I2533c6f1d4a9b2cf5c141ba7fdd516d4c9d88502
2020-10-30 14:05:46 +01:00
Mateusz Jablonski 430cca3f4c Use all passed devices when linking program
Related-To: NEO-5001
Change-Id: I3944375023b9cb3322df83e6e042ba8be2bd762c
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-10-30 10:24:16 +01:00
Jaroslaw Chodor 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
Mateusz Jablonski 20f4786423 Use all passed devices when compiling program
Related-To: NEO-5001
Change-Id: I852c6e57fb7c450ee4dae2d5ff59a206397b2390
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-10-29 16:02:23 +01:00
Mateusz Jablonski 4be05409a3 Handle program's callbacks on API level
Related-To: NEO-5001
Change-Id: Ic73601f874a972c9c3fe6cc1a04edd5d7915f16e
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-10-29 11:28:02 +01:00
Mateusz Jablonski 609f97d752 Don't rebuild non built-in program when RebuildPrecompiledKernels is set
Related-To: NEO-5224
Change-Id: I8956900473732245961289ac6681d25b4684381e
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-10-28 14:13:44 +01:00
Mateusz Jablonski 62709a6ddc Store build status per cl device in program
Related-To: NEO-5001
Change-Id: I7d9521cb45324d89ec11f39f8b857cf1554340eb
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-10-27 12:00:42 +01:00