masa-iwm
5ac0712cf1
Merge pull request #18593 from masa-iwm:master
...
Add support thread-local directx (OpenCL interop) initialization
* support thread-local directx (OpenCL interop) initialization
* reflect reviews
* Remove verbose function prototype declarations
* Countermeasures for VC warnings. (declaration of 'platform' hides class member)
* core(directx): remove internal stuff from public headers
2020-10-18 21:22:06 +00:00
Alexander Alekhin
c945ea125a
ocl: fix PlatformInfo usage
2020-09-25 19:22:12 +00:00
Alexander Alekhin
f52a2cf5e1
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-09-19 17:03:08 +00:00
Alexander Alekhin
4fa82809df
ocl: avoid rescheduling of async kernels
2020-09-18 14:53:50 +00:00
Alexander Alekhin
8711653530
ocl: fixes for OpenCL multiple contexts support
2020-09-03 20:34:49 +00:00
Alexander Alekhin
2129c72bc0
core(OpenCL): thread-local OpenCL execution context
2020-09-02 05:04:20 +00:00
Alexander Alekhin
0428dce27d
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-09-01 20:59:00 +00:00
Alexander Alekhin
efcf307b4c
ocl: cleanup dead code in case of disabled OpenCL
2020-08-31 11:30:42 +00:00
Alexander Alekhin
b45273eccb
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-08-14 19:45:45 +00:00
Alexander Alekhin
00890aecdf
core(ocl): fix ocl::Image2d::isFormatSupported()
...
in case of OPENCV_OPENCL_DEVICE=disabled
2020-08-13 18:33:18 +00:00
Alexander Alekhin
cf2a3c8e74
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-04-02 21:52:32 +00:00
Alexander Alekhin
54063c40de
core(ocl): options to control buffer access flags
...
- control using of clEnqueueMapBuffer or clEnqueueReadBuffer[Rect]
- added benchmarks with OpenCL buffer access use cases
2020-04-02 11:11:06 +00:00
Alexander Alekhin
619180dffd
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-03-06 20:41:30 +00:00
Jan Solanti
ad16c243ca
core(ocl): Don't query image formats when none exist
...
clGetSupportedImageFormats returns CL_INVALID_VALUE if called with
num_entries 0 and a non-NULL image_formats pointer so let's not do that.
2020-03-04 14:15:33 +02:00
Alexander Alekhin
45d073f889
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-02-26 20:09:03 +03:00
Vadim Pisarevsky
07b475062f
Merge pull request #16608 from vpisarev:fix_mac_ocl_tests
...
* fixed several problems when running tests on Mac:
* OCL_pyrUp
* OCL_flip
* some basic UMat tests
* histogram badarg test (out of range access)
* retained the storepix fix in ocl_flip only for 16U/16S datatype, where the OpenCL compiler on Mac generates incorrect code
* moved deletion of ACCESS_FAST flag to non-SVM branch (where SVM is shared virtual memory (in OpenCL 2.x), not support vector machine)
* force OpenCL to use read/write for GPU<=>CPU memory transfers on machines with discrete video only on Macs. On Windows/Linux the drivers are seemingly smart enough to implement map/unmap properly (and maybe more efficiently than explicit read/write)
2020-02-21 16:13:41 +03:00
Alexander Alekhin
b6a58818bb
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-11-11 20:25:42 +00:00
Igor Murzov
cdbfdcc363
Fix OpenCL device detection when some OpenCL platform has no devices
...
It's not an error if some OpenCL platform has no devices. This makes
OpenCL device detection work correctly in the following scenario:
$ OPENCV_OPENCL_DEVICE=:GPU: ./opencv_test_dnn
OpenCV version: 4.1.2-dev
OpenCV VCS version: 4.1.2-80-g467748ee98-dirty
Build type: Debug
Compiler: /usr/bin/g++ (ver 7.4.0)
Parallel framework: pthreads
CPU features: SSE SSE2 SSE3 *SSE4.1 *SSE4.2 *FP16 *AVX *AVX2 *AVX512-SKX?
Intel(R) IPP version: ippIP AVX2 (l9) 2019.0.0 Gold (-) Jul 24 2018
OpenCL Platforms:
AMD Accelerated Parallel Processing
Portable Computing Language
CPU: pthread-AMD Ryzen 7 2700X Eight-Core Processor (OpenCL 1.2 pocl HSTR: pthread-x86_64-pc-linux-gnu-znver1)
NVIDIA CUDA
dGPU: GeForce GTX 1080 (OpenCL 1.2 CUDA)
Current OpenCL device:
Type = dGPU
Name = GeForce GTX 1080
Version = OpenCL 1.2 CUDA
Driver version = 430.26
2019-11-05 20:02:39 +03:00
Alexander Alekhin
ea5499fa51
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-10-29 20:46:51 +00:00
Alexander Alekhin
17e2bf5717
core(tls): implement releasing of TLS on thread termination
...
- move TLS & instrumentation code out of core/utility.hpp
- (*) TLSData lost .gather() method (to dispose thread data on thread termination)
- use TLSDataAccumulator for reliable collecting of thread data
- prefer using of .detachData() + .cleanupDetachedData() instead of .gather() method
(*) API is broken: replace TLSData => TLSDataAccumulator if gather required
(objects disposal on threads termination is not available in accumulator mode)
2019-10-24 06:36:18 +00:00
Alexander Alekhin
e2a5a6a05c
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-09-25 18:32:44 +00:00
Alexander Alekhin
eacadf0e73
core(ocl): add flag OPENCV_OPENCL_ENABLE_MEM_USE_HOST_PTR
...
to control CL_MEM_USE_HOST_PTR usage
2019-09-25 15:12:36 +03:00
Alexander Alekhin
4700722444
Merge pull request #15359 from mgehre:fix_dangling_pointer
2019-08-21 11:38:36 +00:00
Matthias Gehre
0e92ac2af7
modules/core/src/ocl.cpp: Fix dangling pointer
...
Detected by clang trunk:
```
opencv/modules/core/src/ocl.cpp:4337:37: warning: object backing the pointer will be destroyed at the end of the full-expression [-Wdangling]
CV_OCL_CHECK_RESULT(retval, cv::format("clCreateBuffer(capacity=%lld) => %p", (long long int)entry.capacity_, (void*)entry.clBuffer_).c_str());
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
opencv/modules/core/src/ocl.cpp:193:42: note: expanded from macro 'CV_OCL_CHECK_RESULT'
if (0) { const char* msg_ = (msg); CV_UNUSED(msg_); /* ensure const char* type (cv::String without c_str()) */ } \
```
because `cv::format` yields a temporary std::string, and thus `msg_` points to a destroyed buffer.
2019-08-20 23:30:34 +02:00
luz.paz
fcc7d8dd4e
Fix modules/ typos
...
Found using `codespell -q 3 -S ./3rdparty -L activ,amin,ang,atleast,childs,dof,endwhile,halfs,hist,iff,nd,od,uint`
backporting of commit: ec43292e1e
2019-08-16 17:34:29 +03:00
luz.paz
ec43292e1e
Fix modules/ typos
...
Found using `codespell -q 3 -S ./3rdparty -L activ,amin,ang,atleast,childs,dof,endwhile,halfs,hist,iff,nd,od,uint`
2019-08-15 18:02:09 -04:00
Alexander Alekhin
0cf479dd5c
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-07-25 19:21:47 +00:00
Hugo Lindström
2ee00e7f7d
Merge pull request #15059 from hugolm84:improved-support-for-wince
...
* Improve support for Windows Embedded Compact
* Remove redundant set(WINCE true) and format CMake
2019-07-24 23:12:09 +03:00
Alexander Alekhin
4635356435
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-04-13 20:00:54 +00:00
Alexander Alekhin
b38de57f9a
ts: test tags for flexible/reliable tests filtering
...
- added functionality to collect memory usage of OpenCL sybsystem
- memory usage of fastMalloc() (disabled by default):
* It is not accurate sometimes - external memory profiler is required.
- specify common `CV_TEST_TAG_` macros
- added applyTestTag() function
- write memory usage / enabled tags into Google Tests output file (.xml)
2019-04-08 19:12:49 +00:00
Alexander Alekhin
bd1fd59fc1
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-03-13 19:13:13 +00:00
Alexander Alekhin
8c8715c4dd
fix static analysis issues
2019-03-13 17:19:39 +03:00
Alexander Alekhin
c6f39870ff
Merge pull request #13776 from alalek:fix_13741
2019-02-08 15:30:36 +00:00
Alexander Alekhin
66d9a33b50
core(ocl): fix log messages
2019-02-07 16:35:14 +03:00
Alexander Alekhin
fcec053d59
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-02-05 19:12:41 +03:00
Alexander Alekhin
4501a2cdea
ocl: support empty "ptr only" UMat in Kernel::set()
...
add messages to avoid silent kernel destruction
2019-01-30 14:51:06 +03:00
Alexander Alekhin
7fb70e1701
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-12-18 19:07:43 +00:00
Alexander Alekhin
d9d9b05912
core(ocl): add parameter to limit device max workgroup size
...
used by OpenCV
2018-12-17 18:33:05 +00:00
Alexander Alekhin
8f4e5c2fb8
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-11-26 15:37:45 +03:00
Alexander Alekhin
9fd822f97e
ocl: fix kernels launching with USE_HOST_PTR UMat
...
created from RAW memory buffers (without proper lifetime management)
2018-11-24 15:37:16 +00:00
Alexander Alekhin
1913482cf5
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-11-10 20:50:26 +00:00
Alexander Alekhin
b74b05d1b3
Revert CV_TRY/CV_CATCH macros
...
This reverts commit 7349b8f5ce
(partially).
2018-11-08 19:56:52 +03:00
Dmitry Kurtaev
32797515de
Fix https://github.com/opencv/opencv/issues/12824
2018-11-02 08:26:08 +03:00
Alexander Alekhin
cc45c10f3d
ocl: bailout from unsupported types
2018-10-15 18:06:06 +00:00
Alexander Alekhin
1ed9ff17e1
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-10-12 10:05:55 +00:00
Alexander Alekhin
11e2a216c5
ocl(win32): bypass deallocate() during process termination
2018-10-10 18:06:06 +00:00
Alexander Alekhin
690fb0544c
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-10-02 14:31:05 +03:00
Alexander Alekhin
94201b7cf9
ocl: OPENCV_OPENCL_BUILD_EXTRA_OPTIONS parameter
2018-10-01 17:56:17 +03:00
Alexander Alekhin
a8b0db4e5d
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-09-28 14:14:47 +03:00
Rostislav Vasilikhin
be989b3b60
Merge pull request #12637 from savuor:fix/instr_ipp_ocl
...
Fixes for instrumentation of IPP and OCL (#12637 )
* fixed warning about re-declaring variable when both IPP and instrumentation are enabled
* fixed segfault when no funName provided
* compilation fixed when both OCL and instrumentation are enabled
2018-09-27 22:39:06 +03:00