Commit Graph

182 Commits

Author SHA1 Message Date
KUANG, Fangjun
debc1c4c95 fix an error while setting kernel argument for a 3-D matrix. 2017-03-12 18:29:49 +01:00
Vadim Pisarevsky
ca0b6fbb95 Merge pull request #8203 from alalek:ocl_kernelarg_validate 2017-02-16 14:58:25 +00:00
Jinay Patel
f710d96602 Update ocl.cpp function Device::OpenCLVersion()
Instead of CL_DEVICE_EXTENSIONS in Querying OpenCLVersion, it should be CL_DEVICE_VERSION flag which needs to be passed to the function.
2017-02-16 15:20:57 +05:30
Fangjun KUANG
5e4dfb9546 Change the argument type to cl_platform_info.
Although both `cl_platform_info` and `cl_device_info` are defined as macro `cl_uint`, it needs to use `cl_platform_info` to get
the platform information.
2017-02-15 16:44:40 +01:00
Alexander Alekhin
4c7aa8645a ocl: validate arguments in KernelArgs constructor
- don't use undefined flag=0. It should be CONSTANT instead.
- don't allow 'UMat* m=NULL' argument (except LOCAL/CONSTANT flags).
  This case is not handled well to provide NULL __global pointers.
  It is better to use '-D' macro defines instead (at least for performance)
2017-02-14 16:10:32 +03:00
Alexander Alekhin
44d9d59f08 ocl: stop using of OpenCL without explicit UMat arguments 2016-12-04 02:34:17 +03:00
Pavel Vlasov
349d5ba012 --perf_instrument parameter now has int type and 0, 1, 2 modes (1 - simple trees, 2 - expanded trees for functions with same name but different calling address);
Maximum depth limit var was added to the instrumentation structure;

Trace names output console output fix: improper tree formatting could happen;
Output in case of error was added;

Custom regions improvements;

Improved timing and weight calculation for parallel regions; New TC (threads counter) value to indicate how many different threads accessed particular node;

parallel_for, warnings fixes and ReturnAddress code from Alexander Alekhin;
2016-11-08 10:18:05 +03:00
Pavel Vlasov
0a9470bf09 Compatibility fix for Visual Studio 2012; 2016-09-16 10:03:42 +03:00
Alexander Alekhin
10d18a315c instrumentation: minor refactoring, wrap OpenCL
- calculate ticksTotal instead of ticksMean
- local / global width is based on ticksTotal value
- added instrumentation for OpenCL program compilation
- added instrumentation for OpenCL kernel execution
2016-09-08 16:13:44 +03:00
jiakai
22599a2812 define g_haveOpenCL only when HAVE_OPENCL is set 2015-12-21 16:42:38 +08:00
jiakai
387214a3c5 do not open libopencl by dlopen if HAVE_OPENCL is not set 2015-12-21 12:04:00 +08:00
Alexander Alekhin
6f2632ca2e ocl: fix buffer pool small allocations issue (fixes #5815) 2015-12-16 14:31:26 +03:00
Dan Moodie
4f373a4284 Clarified default allocator interface.
Conflicts:
	modules/core/src/matrix.cpp
2015-12-08 09:45:13 -05:00
Alexander Alekhin
ad70ab404c ocl: workaround for getUMat() 2015-09-09 18:56:14 +03:00
Andrey Pavlenko
cea2dafa0f man/unmap, preventing getMat/getUMat from temp object, fix thread-unsafe code in UMat::getMat() 2015-09-09 18:05:29 +03:00
Andrey Pavlenko
b78eb49178 removing a garbage comment 2015-08-26 14:15:18 +03:00
Andrey Pavlenko
3656a1aa66 fixing 'map_unmap_counting' 2015-08-25 17:25:03 +03:00
Andrey Pavlenko
f6b758699b Revert merging of pull request #5176 from vladimir-dudnik:master (reverted from commit 5ee00ec5c6) 2015-08-24 19:22:22 +03:00
Vladimir Dudnik
58934f1e16 add condition to skip unmapping for internally allocated host memory. this should fix map_unmap_counting UMat test. 2015-08-17 14:36:34 +03:00
Vladimir Dudnik
6bb8afde96 fixed typo in OpenCLAllocator.upload method (wrong step used) 2015-08-11 16:01:05 +03:00
Vladimir Dudnik
ef0d1c1c3f fixed download/upload for non contiguous umat 2015-08-11 01:33:46 +03:00
Alexander Alekhin
9bcccb028b fixes 2015-07-28 11:49:46 +03:00
Alexander Alekhin
b36f565d13 fix OpenCV code (bug 4006: #4862) 2015-07-28 11:49:41 +03:00
Alexander Alekhin
53fc5440d7 implement singleton lazy initialization 2015-06-23 14:38:45 +03:00
Vadim Pisarevsky
bd90425f71 Merge pull request #4136 from alalek:fix_matallocator_destruction 2015-06-22 11:49:36 +00:00
Vladimir Dudnik
217dd63e02 OpenCV-OpenCL interop (PR #4072):
Commits:
added new function, cv::ocl::attachContext(String& platformName, void* platformID, void* context, void* deviceID) which allow to attach externally created OpenCL context to OpenCV.
add definitions of clRetainDevice, clRetainContext funcs
removed definitions for clRetainContext, clRetainDevice
fixed build issue under Linux
fixed uninitialized vars, replace dbgassert in error handling
remove function which is not ready yet
add new function, cv::ocl::convertFromBuffer(int rows, int cols, int type, void* cl_mem_obj, UMat& dst, UMatUsageFlags usageFlags = cv::USAGE_DEFAULT) which attaches user allocated OpenCL clBuffer to UMat
uncommented clGetMemObjectInfo definition (otherwise prevent opencv build)
fixed build issue on linux and android
add step parameter to cv::ocl::convertFromBuffer func
suppress compile-time warning
added sample opencl-opencv interoperability (showcase for cv::ocl::convertFromBuffer func)
CMakeLists.txt modified to not create sample build script if OpenCL SDK not found in system
fixed build issue (apple opencl include dir and spaces in CMake file)
added call to clRetainContext for attachContext func and call to clRetainMemObject for convertFromBuffer func
uncommented clRetainMemObject definition
added comments and cleanup
add local path to cmake modules search dirs (instead of replacing)
remove REQUIRED for find_package call (sample build together with opencv). need to try standalone sample build
opencl-interop sample moved to standalone build
set minimum version requirement for sample's cmake to 3.1
put cmake_minimum_required under condition, so do not check if samples not builded
remove code dups for setSize, updateContinuityFlag, and finalizeHdr
commented out cmake_minimum_required(VERSION 3.1)
add safety check for cmake version
add convertFromImage func and update opencl-interop sample
uncommented clGetImageInfo defs
uncommented clEnqueueCopyImageToBuffer defs
fixed clEnqueueCopyImageToBuffer defs
add doxygen comments
remove doxygen @fn tag
try to restart buildbot
add doxygen comments to directx interop funcs
remove internal header, use fwd declarations in affected compile units instead
2015-06-19 13:33:22 +03:00
Alexander Alekhin
032b6322fc fix MatAllocator creation/destruction issues 2015-06-18 14:02:01 +03:00
Alexander Alekhin
b5529aef9c ocl/bufferpool: fix cleanup 2015-03-20 13:21:10 +03:00
Maxim Kostin
22a30af353 Fixing buildbot job:
- explicitly turning OCL off since WinRT does not support it
 - fixing macro definitions in core/ocl.cpp

Signed-off-by: Maxim Kostin <v-maxkos@microsoft.com>
2015-03-02 22:26:45 +03:00
Maxim Kostin
cdd23440c9 Adding support for WinRT(WinPhone 8/8.1 and Win Store) via CMake 3.1
- Substituted HAVE_WINRT with WINRT
- Fixed compilation issues in ocl.cpp and parallel.cpp
- Fixed compiler issue for WP8: "C2678: binary '+' : no operator found which takes a left-hand - Fixed gitignore
- Added #ifdef HAVE_OPENCL to remove compiler warnings in ocl.cpp
- Used NO_GETENV similar to '3rdparty\libjpeg\jmemmgr.c;
- Added ole32.lib for core module (for WindowsStore 8.0 builds)
- Made OpenCV_ARCH aware of ARM

Signed-off-by: Maxim Kostin <v-maxkos@microsoft.com>
2015-03-02 22:26:43 +03:00
Alexander Alekhin
2054123890 coreTlsData -> getCoreTlsData() 2015-02-04 13:03:27 +03:00
Alexander Alekhin
0a07d780e0 ocl: OpenCL SVM support 2015-01-23 20:37:45 +03:00
Dmitry-Me
4ff8a3ad92 Fix incorrect size computation 2014-11-26 12:24:53 +03:00
Alexander Alekhin
4eb16122c0 ocl: change processing of OpenCL failures
disable "unwanted" messages
2014-11-05 19:44:36 +03:00
Alexander Alekhin
fd59551ff0 Merge pull request #3354 from vbystricky:oclopt_convertScaleAbs 2014-10-29 13:53:56 +00:00
Alexander Alekhin
1f08d8cb6f Merge pull request #3367 from akarsakov:ocl_image2d 2014-10-24 16:01:21 +00:00
Alexander Karsakov
237cb93143 Added extra checks to ocl::Image2D 2014-10-24 15:04:42 +03:00
Alexander Alekhin
579a7fff6d ocl: restore clFinish() in unmap() for AMD devices
This reverts commit 7d91b8efcd.
2014-10-24 14:29:38 +04:00
Alexander Karsakov
3a263c6326 Added tests for Image2D 2014-10-23 14:23:37 +03:00
vbystricky
a8aa6381d9 Optimize OpenCL version of conversScaleAbs function 2014-10-21 19:20:20 +04:00
ElenaGvozdeva
070e5ec042 Changed predictOptimalVectorWidth function, now it is possible to choose vector size. 2014-10-21 13:13:15 +03:00
Pavel Vlasov
45958eaabc Implementation detector and selector for IPP and OpenCL;
IPP can be switched on and off on runtime;

Optional implementation collector was added (switched off by default in CMake). Gathers data of implementation used in functions and report this info through performance TS;

TS modifications for implementations control;
2014-10-15 14:24:41 +04:00
vbystricky
1d280352f4 Add code for print errors of OpenCL kernels runing 2014-10-09 13:59:38 +04:00
Vadim Pisarevsky
06e55ddf38 Merge pull request #2893 from ilya-lavrenov:tapi_vector_width_intel 2014-09-18 12:05:24 +00:00
Vadim Pisarevsky
26c284b225 Merge pull request #3167 from akarsakov:ocl_rm_clFinish 2014-09-04 17:00:10 +00:00
Ilya Lavrenov
98e7d4ceec changed optimal vector width for Intel 2014-09-04 11:59:41 +04:00
Alexander Karsakov
7d91b8efcd Removed redundant clFinish() after clEnqueueUnmapMemObject()
sss
2014-09-03 14:54:05 +04:00
Vadim Pisarevsky
3bafe64666 Merge pull request #3170 from ElenaGvozdeva:ocl_fix 2014-09-01 10:40:02 +00:00
Alexander Karsakov
d4e6812be2 Added check AmdFft version to be sure that AmdFft binaries are available 2014-08-29 14:23:18 +04:00
Elena Gvozdeva
31ac73c315 fix for cv::memopTypeToStr 2014-08-29 14:18:52 +04:00