Commit Graph

209 Commits

Author SHA1 Message Date
Mateusz Jablonski 35ff284944 Cleanup Kernel class
move deviceVector to MultiDeviceKernel class
remove Device arg from Kernel's methods

Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-24 09:17:41 +01: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
Filip Hazubski ecceddcab6 Correct clSetKernelExecInfo not to always require SVM support
Resolves: NEO-5269

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-03-22 21:08: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 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 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
Katarzyna Cencelewska 7fdbf4f6ef Correct set pitch in clEnqueueCopyBufferRect
validate dst and src buffers

Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2021-03-10 12:41:51 +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 Jablonski 056300f01f Pass internal kernel object to enqueueKernel method
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-08 19:14:08 +01:00
Compute-Runtime-Validation 68e01dd736 Revert "Correct set pitch in clEnqueueCopyBufferRect"
This reverts commit a0f3e868a1.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2021-02-26 13:48:41 +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
Katarzyna Cencelewska a0f3e868a1 Correct set pitch in clEnqueueCopyBufferRect
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2021-02-25 10:39:57 +01:00
Maciej Dziuban 08506dc81e OpenCL Queue Families extension 14/n
Check capabilities in clEnqueueWaitForEvents

Related-To: NEO-5120
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-02-02 11:54:43 +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
Maciej Dziuban 681c6eeb38 OpenCL Queue Families extension 11/n
Check for support of cross queue events in enqueue calls

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5120
2021-01-26 14:02:54 +01:00
Bartosz Dunajski 469c929b7f Unrestricted size flag support in clSvmAlloc
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-01-25 19:13:08 +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
Krzysztof Gibala 3385500396 Use createHostUnifiedMemoryAllocation in clHostMemAllocINTEL
Unlock multi device setup for host allocation

Related-To: NEO-5422
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2021-01-05 17:16:59 +01:00
Mateusz Jablonski 1b7d7afc07 Refactor USM properties
store reference to std of root device indices and device bitfields
store NEO::Device in USM properties

Related-To: NEO-3691
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-30 11:36:56 +01:00
Maciej Dziuban 510ba83e1e OpenCL Queue Families extension 8/n
Check capabilities for image to buffer and buffer to image copies

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5120
2020-12-29 13:04:12 +01:00
Krzysztof Gibala 2e346b58cd Enable memory transfer in enqueueMigrateMemObjects
Related-To: NEO-4589
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-12-29 12:03:22 +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 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 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 Dziuban 41a90e67d7 OpenCL Queue Families extension 5/n
Check queue capabilities in enqueue calls for kernels, barriers and markers

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5120
2020-11-30 17:35:38 +01:00
Maciej Dziuban 12ebe55679 OpenCL Queue Families extension 4/n
Check queue capabilities in enqueue calls for images

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5120
2020-11-30 17:16:36 +01:00
Mateusz Jablonski 11592d1cb5 Add support for nullptr device input in clGetWorkGroupInfo/SubGroupInfo
Nullptr input is valid if kernel is associated with a single device

Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-27 17:35:24 +01:00
Maciej Dziuban ef170607c8 OpenCL Queue Families extension 3/n
Check queue capabilities in enqueue calls for buffers

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5120
2020-11-25 14:02:10 +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
Maciej Dziuban 14f92cc7a1 OpenCL Queue Families extension 1/n
Basic implementation, some things will be tweaked in future commits

Related-To: NEO-5120
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2020-11-24 11:48:18 +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 9d7807709d Dont use Device from Kernel 2/n
make getDevice method protected

Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-18 09:43:08 +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 Jablonski bd432fa94c Don't use device from kernel if possible [1/n]
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-13 17:41:18 +01:00
Sebastian Luzynski de5fe3c1b3 Adjust params checking.
Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
2020-11-05 12:37:52 +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
Krzysztof Gibala 2c1551d40d Extend specialQueue in context to StackVec
Related-To: NEO-4589
Change-Id: I92db4cf8511e13a35307a4f48b51041a6fc7330f
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-10-30 13:33: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
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 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
Mateusz Jablonski 3bcc073b26 Respect EnableMultiRootDeviceContexts when creating context from type
Related-To: NEO-3691
Change-Id: Ib61ddfe1e5df5ed7611ed785fadd305a49ef204a
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-10-27 09:08:58 +01:00
Sebastian Luzynski 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
Mateusz Jablonski 495594142c Improve Program::create functions
accept multiple devices in createFromGenBinary
remove redundant arguments
rename functions for creating built in program

Related-To: NEO-5001
Change-Id: Ic894fa3014d6eadce3747a6f7530e9848ae1f948
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-10-26 12:34:49 +01:00
Mateusz Jablonski a5a5c94097 Correct clCreateProgramWithBuiltInKernels
create program for all provided devices
move OCL specific code from shared to opencl

Related-To: NEO-5001
Change-Id: Ic352b4e907ae75426634ae4b3c7048edecaf83e7
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-10-22 19:26:34 +02:00
Mateusz Jablonski b8858ee0d6 Correct clCreateProgramWithIL
store all devices from context

Related-To: NEO-5001
Change-Id: I728ba460f7c9e4cc500395706c85f7f12e175d2f
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-10-22 12:52:57 +02:00
Mateusz Jablonski 8afdb2d981 Correct clCreateProgramWithBinary
store proper devices
validate input devices, lengths and binary
return correct binaries

Related-To: NEO-5001
Change-Id: I3822c291a4430e64afe54f1486b0014f16de3d64
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-10-22 08:38:24 +02:00
Mateusz Jablonski f7dcafc295 Pass ClDeviceVector to Program's ctor
Related-To: NEO-5001
Change-Id: Ie0e4395fd3ed9a5df81c7075ef039092a0687b9c
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-10-19 18:47:11 +02:00
Filip Hazubski ca5f34133b Move aub and tbx code to shared
Related-To: NEO-3964

Change-Id: Ice978e582721498d7496f989767ce7d6f5f4caf4
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-10-19 16:04:47 +02:00
Filip Hazubski da524fa03d Correct Intermediate Language related implementation
Change-Id: Ib2bdd21c255245767df787797bb5cfe05482e489
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-10-09 16:00:56 +02:00
Andrzej Swierczynski bdf8c5fc90 Extend UnifiedMemoryProperties constructor to take device bitfield
Related-To: NEO-4722

Change-Id: Ice185f1792635922e9bb89cd7329e6501bc585e0
Signed-off-by: Andrzej Swierczynski <andrzej.swierczynski@intel.com>
2020-10-06 16:35:08 +02:00
Filip Hazubski 155578568b Update functions to create buffer and image objects
Functions clCreateBufferWithPropertiesINTEL and
clCreateImageWithPropertiesINTEL now accept a parameter `cl_mem_flags flags`.

Change-Id: I71823457397c00f93aed236afaa0041936c4161d
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-10-05 11:08:49 +02:00
Krzysztof Gibala 214342f405 Create map for deviceBitfields per rootDeviceIndex
Pass rootDeviceIndex to getDeviceBitfieldForAllocation

Related-To: NEO-4589
Change-Id: Ib325a8bf822351ba36b225d94d4173fd725e8766
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-09-29 12:18:49 +02:00
Sebastian Luzynski 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
Filip Hazubski d1e0768cf5 Remove unused code
Change-Id: I342f58dc72a6ed5a9b9d9d30d5c43a109da5ff5b
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-09-21 11:42:54 +02:00
Mateusz Jablonski b52aec07dd Move symbols and linkerInput from Program to BuildInfo
these members should be kept per root device

Related-To: NEO-5001
Change-Id: Ie5e06deed234706cc41943d3c5e932c7d877127b
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-09-11 08:01:25 +02:00
Filip Hazubski d889c599b2 Correct callback API functions
Add implementation to clSetProgramReleaseCallback and
clSetContextDestructorCallback functions.

Resolves: NEO-4962, NEO-5051

Change-Id: Iad6fffc663665a3cf16b96aa90065140cf8c5477
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-09-08 14:08:50 +02:00
Mateusz Jablonski 40d487fa90 Add global destructor of platforms
Change-Id: I7f0c9a9a13cae5cbf831e0d4e410c78c001a75d1
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-09-01 17:26:17 +02:00
Pawel Cieslak fb821f21f5 Cmake format script
Related-To: NEO-1157

Change-Id: Ie1b907e838cfb9ad0d75cc8971d415f7c77103c9
Signed-off-by: Pawel Cieslak <pawel.cieslak@intel.com>
2020-08-19 16:36:30 +02:00
Filip Hazubski c5866944f4 Add clSetContextDestructorCallback API function
Change-Id: If0f06ffcbd6236ef7ffbc78347e67897177eb121
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-08-10 19:17:00 +02:00
Filip Hazubski fe5bda3ed1 Correct API functions to unload compiler
Correct return value of clUnloadCompiler and clUnloadPlatformCompiler
API calls.

Change-Id: I352b271e9f97be88cf29c4a097aa2e664ba3206a
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-08-10 17:18:26 +02:00
Mateusz Jablonski cb6777ee73 Correct USM function signatures
Change-Id: I555c87edcb063114305223bb912472d61016b3c7
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-07-30 13:05:15 +02:00
Mateusz Jablonski 93c1e1b976 Add MultiGraphicsAllocation to USM
Related-To: NEO-4672
Change-Id: I53ea4bea73ae6d52840146f63bc561bb90f9fe62
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-07-02 09:39:21 +02:00
Andrzej Swierczynski a5e4edb327 Choose valid bank from memory bank selector
Related-To: NEO-4645

Change-Id: I8d1f63ba24ead2e77ba6381e4770068bf2eb1725
Signed-off-by: Andrzej Swierczynski <andrzej.swierczynski@intel.com>
2020-06-26 10:51:43 +02:00
Sebastian Luzynski fa3cb35fde Add check if device support Images.
Related-To: NEO-4675
Change-Id: I0c2b6e04536e45e70748983521e8469dd3dad697
2020-06-24 23:38:03 +02:00
Jaime Arteaga abdb707a39 Check for hardware limit for runtime device allocations
Use hardware limit, instead of the one used for device capabilities,
so applications can fully use the available memory in the device.

Change-Id: I910c610d7a3af254724a810c3c60b9da8d5d64a7
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-06-17 18:56:09 -07:00
Maciej Dziuban fb43726cdc Enabling forcing fine grained SVM creation
Change-Id: I0eb0af5e72f5502b788c6c8be39728bc6948c0bb
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2020-06-08 14:10:37 +02:00
Filip Hazubski 78d07b9b37 Pass Device when creating MemoryProperties
Related-To: NEO-4651

Change-Id: Ie1f7f55d4817612de83bfb2a372fd7ac35c11930
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-06-05 12:42:15 +02:00
Mateusz Jablonski 7f5aa241b2 Correct creating shared unified memory
select device from context when device is not provided by user
return error when allocation fails

Related-To: NEO-4588
Change-Id: I2196ebf7c3e7908d1f8ca60c85ab2ef449997f9c
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-06-05 11:27:49 +02:00
Filip Hazubski 0a6da52bd4 Add implementation of new OpenCL 3.0 API functions
Additionally unify implementation of API functions related to creating buffers
and images.

Related-To: NEO-4368

Change-Id: Icfafc32f15e667e249fb318072194b6f76bd6481
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-05-15 12:09:08 +02:00
Filip Hazubski 86c2869a6e Add clSetProgramReleaseCallback function implementation
Related-To: NEO-4368

Change-Id: I5dff2759abcff457930a06226b71ad64e2f69c28
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-05-15 10:11:15 +02:00
Krzysztof Gibala cb8e9656ee Merge MemoryPropertiesFlags files
Move mem_properties_parser_helper files to memory_properties_flags_helpers
Rename MemoryPropertiesParser to MemoryPropertiesHelper

Related-To: NEO-4143
Change-Id: Ib35360bceff90be2383696083226f8be1e47538c
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-05-08 14:17:36 +02:00
Filip Hazubski 8fd40b090d Add supportsOcl21Features value to capability table
Related-To: NEO-4368

Change-Id: If176d3be7c47d9d9ab70beebe664f2d569997501
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-05-05 15:02:50 +02:00
Filip Hazubski 85a5dcfe62 Add supportsPipes HW capability
supportsPipes set to false will disable support of Pipes on a device.

Related-To: NEO-4368

Change-Id: I2b03984d7618e85f482f8f8fa0fe3ef45ece7c19
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-05-05 12:12:08 +02:00
Filip Hazubski 22f9893495 Add debug flag to override device enqueue support
Enabling the new debug flag will disable support of device enqueue feature.

Related-To: NEO-4368

Change-Id: Icd17b44986bb682873364a2603633b7e44723a06
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-05-04 11:01:14 +02:00
Krzysztof Gibala b0ed3b2ab1 Refactor MemoryPropertiesFlags
Rename:
- MemoryPropertiesFlags to MemoryProperties
- MemoryPropertiesParser to MemoryPropertiesParserHelper
- getMemoryPropertiesFlags to getFlags
- getMemoryPropertiesFlagsIntel to getFlagsIntel
- functions involved with MemoryPropertiesFlags

Related-To: NEO-4143
Change-Id: I4eec67bba95dd5354d0df43c31e6ca724909138e
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-04-28 18:15:25 +02:00
Mateusz Jablonski 7ed45adb27 Pass device bitfield when creating SVM alloc
Related-To: NEO-4484
Change-Id: Ie70b6fbd3351615bc15005755f2d7d9b4a3bad32
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-04-27 10:17:06 +02:00
Jobczyk, Lukasz 23601a8c59 Revert "Forbid to rebuild program"
This reverts commit aa957370da.

Change-Id: Ie935cfe1b3b70023e520042bce5f341ae6b39271
2020-04-22 09:14:47 +02:00
Lukasz Jobczyk aa957370da Forbid to rebuild program
Change-Id: I0fe5d8c9b39b3fc857bba0bde77ed4d9a4bb95af
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-04-21 09:39:17 +02:00
Michal Mrozek 6cbb8352f4 Allow null global work offset.
Change-Id: I6396030213d9c5de9ff909299a5530f339c7b1fe
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2020-04-17 09:59:11 +02:00
Mateusz Jablonski 6e07281ff4 Don't allow for creating context with multiple root devices
Related-To: NEO-3691
Change-Id: Ica7ec1681b948ff8f9f69eeb1e11cdee64f57e50
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-04-10 15:57:21 +02:00
Andrzej Swierczynski 3b4276c8f7 Move AsyncEventsHandler to ClExecutionEnvironment
Related-To: NEO-4207

Change-Id: If859f995aae57ac03de13d57cc5a38c97303bbb4
Signed-off-by: Andrzej Swierczynski <andrzej.swierczynski@intel.com>
2020-03-31 15:42:07 +02:00
Filip Hazubski 64575cd589 Pass Context to parseMemoryProperties function
Change-Id: I74ff9fdb9292e281a1a6491387163db0de2ccea2
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-03-31 07:43:01 +02:00
Mateusz Jablonski a651625473 Correct validation during creating command queue
check if device is associated with context

Related-To: NEO-3691
Change-Id: I7dfe12376bb2bb2c764b471315072a29068a0cb7
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-03-24 17:05:31 +01:00
Filip Hazubski fe851da327 Rename device directory
device directory is renamed to cl_device.

Related-To: NEO-3938

Change-Id: I96794c82632d042da6814550597d805df7bb6436
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-03-24 14:35:21 +01:00
Filip Hazubski 6174022ed1 Return CL_INVALID_OPERATION error
In clSetKernelArgSVMPointer and clSetKernelExecInfo functions
CL_INVALID_OPERATION error is returned if the associated device does not
support SVM.

Related-To: NEO-4368

Change-Id: I2a311d9307588ae992cee977b25df10841ebf668
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-03-24 13:16:07 +01:00
Lukasz Jobczyk b546e89f99 Add a clMemBlockingFreeINTEL function
Resolves: NEO-4482

Change-Id: I201c5ab93b3f54a3980dd1fb50be82a4a66daa67
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-03-20 13:27:29 +01:00
Mateusz Jablonski bd3931a9fb Change signature of CommandStreamReceiver::expectMemory
return bool value

Change-Id: Ia3471199c5fc4449ce13f92705080a4db96f88dd
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-03-19 15:59:18 +01:00
Filip Hazubski 3b149b69a7 Remove duplicated fields from ClDeviceInfo
Related-To: NEO-3938

Change-Id: Ic13d69eaf2ba54794f82d78b058c960f27a6c29d
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-03-17 08:58:34 +01:00
Krzysztof Gibala ded006295f Change error return type in clGetMemAllocInfoINTEL
Fix regression.
According to specification, NULL need to be returned for
specific type of allocation param.

Change-Id: I3db25b471075932821c8ffa06ed522d600562720
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2020-03-16 14:49:36 +01:00
Filip Hazubski 6ce9402fc2 Return CL_INVALID_OPERATION error for enqueuing SVM operations
The error code is returned if the associated device does not support
SVM.

Related-To: NEO-4368

Change-Id: I7c2300e05768e4acf541fa92bd94913de9b5eb81
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-03-12 09:54:13 +01:00
Mateusz Jablonski 4d045a613d Expose all created platforms
Sort devices properly

Related-To: NEO-3691
Change-Id: I23eb3caccb3161fef022ec5ab3674847770226c8
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-03-11 07:30:06 +01:00
Lukasz Jobczyk e9c576393e Move hwInfo to root device environment
Related-To: NEO-3857

Change-Id: Ic23077cad080a249457cec39462ca7407e75b227
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-03-10 17:13:08 +01:00
Mateusz Jablonski 7cf57e04f9 Move builtins and compiler interface to RootDeviceEnvironment
Resolves: NEO-4355
Change-Id: Id1a3365673165d775a60a7e0a3f463e1b8f5a496
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-03-05 13:22:22 +01:00
Filip Hazubski ed59e46c72 Update clSVMFree
Do nothing when received context does not have a device supporting svm.

Related-To: NEO-4368

Change-Id: I612fae138d6c40406a108f5b1e370eccee233236
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-03-05 12:34:19 +01:00
Lukasz Jobczyk 37de0f16b2 Export clSetProgramSpecializationConstant via function pointer
Change-Id: Ic606bb47a2cfc8408618b45755e4ffdc3b45ca67
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-03-04 15:36:33 +01:00
Lukasz Jobczyk 4cc22d281d Match dispatch table with OCL headers
Change-Id: I0f04098fe82dd1c42b109bdf85b4da157418c415
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-03-03 12:10:03 +01:00
Filip Hazubski 5c3412ede1 Increment reference count when creating sub device
Resolves: NEO-4362

Change-Id: I8f667ff4baa368d3504da0b3ffd2db39a4d00d68
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-03-03 11:40:17 +01:00
Mateusz Jablonski ffed348f3b Correct accessing cl device from Platform
don't use root device index to store cl device in Platform::initialize

Related-To: NEO-3691
Change-Id: I1fc5435e0246e241c4a38060de26f5c0369a1873
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-03-02 09:09:34 -08:00
Filip Hazubski bfaa531bf5 Move extensions directory
Change-Id: I47363e93839171c5b4eb85037f2b4ca5444e0544
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-02-26 14:34:31 +01:00
Jaroslaw Chodor 915b80b1df Introducing kernel descriptor
Change-Id: I4ce6ebf27a81cf14b055817ebfe76d8427e349ab
2020-02-25 00:03:15 +01:00
Maciej Plewka 357fdc2e65 Move built ins to share directory
Change-Id: I740a349a0f15229cd356fffe996932029bf0f98b
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-02-24 15:46:44 +01:00
Mateusz Jablonski 9dbeeea18f Clang-format: restore sorting includes
Change-Id: I34eb993b562c77f56d8fbd51a02ee266c1f76678
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-02-24 10:22:30 +01:00
Mateusz Jablonski 7df9945ebe Add absolute include paths
Change-Id: I67a6919bbbff1d30c7d6cdb257b41c87bad51e7f
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-02-23 23:49:12 +01:00
Mateusz Jablonski 370424a1e0 Change core inlcudes
Change-Id: Iaec903af420f0a92f7d86e484c83300fb9c531ad
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-02-23 18:46:50 +01:00
kamdiedrich d015d3633f Add absolute path to include
Change-Id: Ib0782b4ab8d9a26ec358ecfb57721f4fe8d51b06
2020-02-23 08:47:49 +01:00
kamdiedrich fa8e720f9e Reorganization directory structure [1/n]
Change-Id: Id1a94577437a4826a32411869f516fec20314ec0
2020-02-22 21:56:09 +01:00