Commit Graph

70 Commits

Author SHA1 Message Date
de5fe3c1b3 Adjust params checking.
Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
2020-11-05 12:37:52 +01:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
d1e0768cf5 Remove unused code
Change-Id: I342f58dc72a6ed5a9b9d9d30d5c43a109da5ff5b
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-09-21 11:42:54 +02:00
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
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
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
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
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
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
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
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
fa3cb35fde Add check if device support Images.
Related-To: NEO-4675
Change-Id: I0c2b6e04536e45e70748983521e8469dd3dad697
2020-06-24 23:38:03 +02:00
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
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
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
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
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
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
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
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
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
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
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
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
23601a8c59 Revert "Forbid to rebuild program"
This reverts commit aa957370da.

Change-Id: Ie935cfe1b3b70023e520042bce5f341ae6b39271
2020-04-22 09:14:47 +02:00
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
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
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
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
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
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
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