Commit Graph

56 Commits

Author SHA1 Message Date
Hoppe, Mateusz 5f7b6db893 Validate buffer flags with helper
Change-Id: Iaaf04bbe6e5237da0183556fa1ee10817faaf5c0
2018-09-05 14:10:21 +02:00
Mateusz Jablonski 6096263d2a Process extra tokens when create command queue with properties
Change-Id: I8f7d1aeaa7ed1a21e9c35794e5453ffa1ab67d5f
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-08-30 15:20:49 +02:00
Maciej Dziuban b91c14f70e Delete Device::getBuiltIns()
Change-Id: I9d1968dfb2ba4a56020fd17152119add726106e1
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-08-22 16:54:53 +02:00
Maciej Dziuban e0e48203d2 Move BuiltIns to ExecutionEnvironment
Change-Id: Ib2a1b82cc7858c898bb32820aad106a01d1325ad
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-08-21 23:15:47 +02:00
Maciej Dziuban 524737af39 Add executionEnvironment field to Program
Change-Id: Id624177aa3f0b5525bac86e2e0a935ebaf53480e
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-08-16 16:52:41 +02:00
Woloszyn, Wojciech 93c1a7b51b Fix mipmaps return values
Change-Id: I6e7cdc69edc80010a0c6f5f337e6b530278a6606
2018-08-13 11:56:07 +02:00
Lukasz Towarek 23a7ec5ef9 Return CL_INVALID_PROGRAM_EXECUTABLE instead of CL_INVALID_KERNEL
- clCreateKernel can't return CL_INVALID_KERNEL according to OpenCL spec

Change-Id: I379218fe20bd13eef52e5a17b1fd3f91fdda06c0
2018-08-13 11:43:33 +02:00
Lukasz Towarek 20aa362a7d Support CL_INVALID_PROGRAM_EXECUTABLE in clCreateKernel
Change-Id: I7ff5b988d0e6187931ea4ad35a7aaeb92e37907a
2018-08-10 09:58:33 +02:00
Lukasz Towarek d9aad44434 Handle kernel name set to nullptr
Change-Id: Ifeb6923c8df948de94b0771de0f37e628013d8db
2018-08-09 16:05:03 +02:00
Katarzyna Cencelewska 32b25ff08b Add missing API_ENTER and DBG_LOG_INPUTS logging in functions:
clEnqueueReadImage, clEnqueueFillImage,
clEnqueueWriteImage, clEnqueueCopyImage,
clEnqueueCopyImageToBuffer, clEnqueueMapImage,
clEnqueueUnmapMemObject, clEnqueueMigrateMemObjects,
clEnqueueNDRangeKernel, clEnqueueTask,
clEnqueueNativeKernel, clEnqueueMarker,
clEnqueueWaitForEvents, clEnqueueBarrier,
clEnqueueMarkerWithWaitList

Change-Id: Ifde3290f8dcd9758235018a97fc080798d3b9de0
2018-08-09 13:00:36 +02:00
Hoppe, Mateusz 69820ab51f Log created image cl_mem objects in api calls
Change-Id: Ic304b5971ddb93057afa47a5205e11e0110b037e
2018-08-09 12:44:39 +02:00
Katarzyna Cencelewska 955aaccb74 Add missing API_ENTER and DBG_LOG_INPUTS logging in functions:
clEnqueueSVMMap, clEnqueueSVMUnmap,
clSetKernelArgSVMPointer, clSetKernelExecInfo,
clGetPipeInfo, clCreateCommandQueueWithProperties,
clCreateSamplerWithProperties, clGetKernelSubGroupInfoKHR,
clGetDeviceAndHostTimer, clGetHostTimer,
clGetKernelSubGroupInfo, clSetDefaultDeviceCommandQueue,
clEnqueueSVMMigrateMem, clCloneKernel

Change-Id: Ic5ef808b4fd331b32173c176f498974fc9506a5d
2018-08-09 11:41:11 +02:00
Katarzyna Cencelewska 4afa8fb6ca Add missing API_ENTER and DBG_LOG_INPUTS logging in functions:
clCreatePerfCountersCommandQueueINTEL, clSetPerformanceConfigurationINTEL,
clCreateCommandQueueWithPropertiesKHR, clCreateAcceleratorINTEL,
clRetainAcceleratorINTEL, clGetAcceleratorInfoINTEL,
clReleaseAcceleratorINTEL, clCreateProgramWithILKHR,
clGetExtensionFunctionAddress, clGetExtensionFunctionAddressForPlatform,
clSVMAlloc, clSVMFree,
clEnqueueSVMFree, clEnqueueSVMFree,
clEnqueueSVMMemcpy, clEnqueueSVMMemFill

Change-Id: I40db218af43a9379af173d08cba78c051e169352
2018-08-09 09:50:21 +02:00
Mrozek, Michal d80dbb1ae0 Do not take ownership on device.
- Command Stream Receiver should be used instead for locking.
- Remove not needed synchronization in clSetUserEventStatus

Change-Id: I17050dc70cb0be03b2003043a9666ba8df1a83c9
2018-08-07 09:29:50 +02:00
Woloszyn, Wojciech 44fbbaee24 Implement clEnqueueWaitForEvents
Change-Id: I54a1f75ed2935d75fa3d6e07d52ea0831b355dd7
2018-08-07 09:14:46 +02:00
Katarzyna Cencelewska 831532bf14 Add missing API_ENTER logging in functions:
clCreateImage2D, clCreateImage3D,
clGetSupportedImageFormats, clGetMemObjectInfo,
clGetImageInfo, clGetImageParamsINTEL,
clSetMemObjectDestructorCallback, clCreateSampler,
clRetainSampler, clReleaseSampler,
clGetSamplerInfo, clCreateProgramWithSource,
clCreateProgramWithBinary

Change-Id: I37214fe5f815c0cc39ec29082ed1f4efb52af4c7
2018-08-04 14:18:24 +02:00
Katarzyna Cencelewska a2a2eaf5dd Add missing API_ENTER logging in functions:
clGetEventInfo, clCreateUserEvent,
clRetainEvent, clReleaseEvent,
clSetUserEventStatus, clSetEventCallback,
clGetEventProfilingInfo, clEnqueueReadBufferRect,
clEnqueueWriteBufferRect, clEnqueueFillBuffer

Change-Id: Ie1fd337d926fa28474157f97390b9c3aece0a782
2018-08-02 13:18:50 +02:00
Katarzyna Cencelewska 8f18841f38 Add missing API_ENTER logging in function:
clRetainContext, clReleaseContext,
clGetContextInfo, clCreateCommandQueue,
clRetainCommandQueue, clReleaseCommandQueue,
clGetCommandQueueInfo, clSetCommandQueueProperty,
clCreateBuffer, clCreateSubBuffer

Change-Id: I70c0b57d6f5ff335145593f1a81bc5055b1d0c0c
2018-08-02 13:10:53 +02:00
Katarzyna Cencelewska ccbbebdf75 Add missing API_ENTER logging in functions:
clCreateProgramWithIL, clCreateProgramWithBuiltInKernels,
clRetainProgram, clReleaseProgram,
clLinkProgram, clGetProgramInfo,
clGetProgramBuildInfo, clCreateKernelsInProgram,
clCreateKernelsInProgram, clRetainKernel,
clReleaseKernel, clSetKernelArg,
clGetKernelInfo, clGetKernelArgInfo,
clGetKernelWorkGroupInfo

Change-Id: I4cbe68dd8593e6d42b6e1e4c25a7155a477aa7d0
2018-08-01 17:13:19 +02:00
Katarzyna Cencelewska 00a62f204a Add missing API_ENTER logging in functions:
clGetPlatformIDs, clIcdGetPlatformIDsKHR,
 clGetPlatformInfo, clGetDeviceIDs,
 clCreateSubDevices, clRetainDevice,
 clCreateContextFromType

Change-Id: I571b036cc6b64a66d768d7f3f8eb55e7d69b9aa7
2018-08-01 14:29:10 +02:00
Mrozek, Michal 121376b248 Remove redundant cast.
Change-Id: I72734ba38d7dd9a5d0055340e6de5709d2de635c
2018-07-17 19:13:45 +02:00
Mrozek, Michal 513d23ca1d Return error if invalid context is passed.
Change-Id: Icff0b6658badb08183340375abd1e68fc582c25d
2018-07-17 18:51:45 +02:00
Mrozek, Michal d69f23dc10 Enhance validation of properties when command queue is created.
Change-Id: I1735ef8d9fbc17a09b9711f8f881c27c5de6b82c
2018-07-10 14:44:15 +02:00
Mrozek, Michal a21c0a0074 Add control on platform life cycle.
Change-Id: I5c24b41747d822b71dd57e9a949cf25fcc78a453
2018-06-27 10:09:26 +02:00
Mrozek, Michal 5c0a562a6b Simplify platform initialize.
- Remove not required parameters
- move the logic to ult directories

Change-Id: I913f1048489137a61220d96fa9f2798572cd4f56
2018-06-21 12:46:35 +02:00
Zdunowski, Piotr 157ffbceb5 Revert "Builtins increase context refcount."
This reverts commit 39d55e5257.

Change-Id: Ib5b38e5a508c5e56e61c7f0ac0b5b8a965d6170d
2018-05-28 16:35:45 +02:00
Zdunowski, Piotr 39d55e5257 Builtins increase context refcount.
Change-Id: I146852092e1cb374b816875ae9a90ac03a8f205e
2018-05-23 17:56:20 +02:00
hjnapiat c8c2832068 Improve logging of some OpenCL APIs
Change-Id: I80f7019dadf4e4f39710ed767745c7a605f44d3a
2018-05-09 12:47:17 +02:00
Artur Harasimiuk 5fbdad88c6 refactor config.h usage
- add defines to command line
- remove most occurences of include "config.h"

Change-Id: I19d65d83c895fc6143d319d057a50e5ae3e78830
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2018-04-26 10:02:15 +02:00
Artur Harasimiuk 75d497a9a9 separate BuiltinDispatchInfoBuilder from built_ins.h
We don't need BuiltinDispatchInfoBuilder in every place where built ins
are used. specifically in .cpp files generated from kernel binary.

Change-Id: Ie739951cdc93873993f78ad14cee656122af51fd
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2018-04-19 12:32:13 +02:00
Chodor, Jaroslaw 1c3ff8a15b Adding mipmap support in sampler
* sampler mipmap lod/filtering programming
* sampler queries
* clCreateSamplerWithProperties
* fixed point numeric type (e.g. U4.8)

Change-Id: I6b496e6f067f6232bab464ab3ee74af8b00904d3
2018-04-10 22:15:09 +02:00
Chodor, Jaroslaw 0a97dfbb2f [1/n] Mipmap support
* adding support for map/unmap
* adding support for origin/region validation with mipmaps
* fixing slices returned in map/unmap
* removing ambiguity around mipLevel naming
* enabling cl_khr_mipmap_image in current shape
* enabling cl_khr_mipmap_image_writes in current shape

* fixing CompileProgramWithReraFlag test

Change-Id: I0c9d83028c5c376f638e45151755fd2c7d0fb0ab
2018-04-05 01:09:27 +02:00
Mateusz Jablonski 575d1bf381 Cmake refactor part 20
set global properties with runtime sources, libult sources and
os interface tests

Change-Id: I9a84edf2f021b4581a16c19c7dbb0b2f94c33f4d
2018-03-23 15:51:12 +01:00
Mrozek, Michal d7fe01454b Make sure that gtpin callbacks are not executed in enqueue path.
-This is to make sure those functions are not called when gtpin is not used
-This preserves CPU instruction cache pollution.
-Our enqueue path needs to be as thin as possible, even with this small change
there is visible gain in ULT execution time.

Change-Id: I44cc2144754cda95ca1fe058184cd8a151b8d35c
2018-03-23 12:54:17 +01:00
Dunajski, Bartosz 08c2379f6e Validate region and origin for all image API calls
Change-Id: I28782d8838cf8f5d800f76c922fcb59235f637a1
2018-03-09 08:24:25 +01:00
Dunajski, Bartosz 23c1c4fea6 clEnqueueMapImage origin and region usage fixes
- Return error on origin > 0 or region > 1 when its not allowed
- For 1Darray, array region and origin are stored on 2nd position.
  For 2Darray, its on 3rd postion
- Fix map offset for 1Darray image
- Fix CPU data transfer for 1Darray image

Change-Id: Id35ba5f54f117e7af318ca7e6e03c1fc942ce729
2018-03-08 08:54:48 +01:00
Mateusz Jablonski d1aa5f978d Cmake refactor part 6
Add macro to add all subdirectories
Add macro to create project source tree based on target sources
Small cleanup runtime/CMakeLists.txt

Change-Id: I9b99145c544f648c4c3fe7421752d0c5d9504edf
2018-03-02 00:39:41 +01:00
Mrozek, Michal 7f7daef49c Avoid default parameter to program constructor.
Change-Id: I75e9a619131f7d8721416cf18d87418568d04f25
2018-02-28 16:56:07 +01:00
Dunajski, Bartosz dd44a87d5f Map/unmap enqueue fixes [6/n]: Support multiple map operations
- Dont make cpu/gpu writes on read-only unmap
- Read/Write on limited map range only
- Overlaps checks for non read-only maps
- Fixed cmd type on returned event

Change-Id: I98ca542e8d369d2426a87279f86cadb0bf3db299
2018-02-23 10:45:06 +01:00
Mrozek, Michal f90ebac12a Clean obsolete code.
Change-Id: I9551f7217924c7ea8f44a3322fc3096252c4d6f7
2018-02-23 08:10:12 +01:00
Dunajski, Bartosz b4f79e036f Map/unmap enqueue fixes [5/n]: Unify offset calculation
Change-Id: I53eafe89532d43c5cf5139ed3fac0a87619dc7a3
2018-02-21 20:12:52 +01:00
Artur Harasimiuk a99d951c55 clGetPlatformIDs should check if platform initialization was successful
Change-Id: I3e9d78155e6a914ed0d755d81ddc13c4d3a8a291
2018-02-19 12:12:29 +01:00
hjnapiat 5909a6b3d3 Add support for GT-Pin Callbacks [3/n]
Change-Id: Iea4b49efc9a666fde310ece15a9c69686d22f627
2018-02-19 10:43:19 +01:00
Dunajski, Bartosz e0ca78ccea Map/unmap enqueue fixes [3/n]: Map params inconsistency
- Introducing MapInfo struct which will be used as container for multiple
  map operations
- Unified mapped offset and size for Buffers and Images
- Fixed incorrect map params for CPU and GPU path
- Missing API level checks


Change-Id: Ib4077c9e2c0c333b131ffd5ccbc4a1404920eb5b
2018-02-16 08:28:29 +01:00
Dunajski, Bartosz 4f2a05ac88 Map/unmap enqueue fixes [2/n]: CPU operations on limited range
- Curently each non-zerocopy CPU operation on map/unmap make a full copy
  using hostPtr
- This commit adds functionality to select specific range of copy
- Multiple mapping with different size is not supported yet,
  so copy will be made on full range for now. This is for future usage.

Change-Id: I7652e85482ba6fffb2474169447baf9b080dcd1e
2018-02-13 16:29:01 +01:00
Jacek Danecki ff44e9922d Used ratified Khronos extension names
Change-Id: I15b62b6f5fb805efedec5cd9e14215a94d97c8f6
2018-02-13 13:33:27 +01:00
Dunajski, Bartosz 72b78d15ee Map/unmap enqueue fixes [1/n]: Unify Buffer and Image paths
Change-Id: I59bf18072c15367ff6caec5dbdc1350ea2d93281
2018-02-09 17:35:03 +01:00
Mateusz Jablonski ea021f8d69 Cmake refactor part 1: fix dependencies with including os_inc.h
Remove some not needed includes

Change-Id: I158ad663ccfcec4822e3768df9d05090c5e096f9
2018-02-08 09:40:40 +01:00
Zdunowski, Piotr 1cfe5344fc Enable throttle hints extension.
Change-Id: I996fce8dbc792d77dc85df143ba5c0aa1cad83e5
2018-02-06 17:01:37 +01:00
Mateusz Jablonski b027a82442 Cmake refactor part 2:
Move defining runtime sources into cmake files in subdirectories

Change-Id: Ic83c12fee65e04d19e7c8e1f88b939f03af7fa28
2018-02-05 13:40:46 +00:00