Commit Graph

132 Commits

Author SHA1 Message Date
Sebastian Luzynski
95ba83c7e1 Fix ocl program creation on multi device contexts
Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>

Related-To: NEO-5734
2021-05-10 12:30:09 +02:00
Bartosz Dunajski
c6e81d3ed5 Simplify parsing affinity mask
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-05-05 21:17:53 +02:00
Krystian Chmielewski
ef71915c71 Remove KernelArgInfo and use KernelDescriptor's args instead
Related-To: NEO-4729
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-04-23 15:12:09 +02:00
Mateusz Hoppe
ffc310858a Add DebugVariable to control opt-disable when debugger is used
Resolves: NEO-5760

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-04-19 16:41:14 +02:00
Milczarek, Slawomir
c84e9ca4f1 Add blitter path for memory transfers to kernel allocations
Related-To: NEO-5667

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2021-04-08 15:55:20 +02:00
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