Commit Graph

39 Commits

Author SHA1 Message Date
Woody Chow
6e00c7651b Use num_threads clause of #pragma omp parallel instead to avoid calling omp_set_num_threads for the entire application 2017-05-29 14:16:10 +09:00
Alexander Alekhin
649bb7ac04 core: parallel_for_(): update RNG state of the main thread 2017-02-28 18:28:15 +03:00
Alexander Alekhin
b28fd79fdc core: parallel_for_(): propagate RNG state from the main thread 2017-02-28 18:22:46 +03:00
mshabunin
695c518384 Updated TBB search script and code checks 2016-12-01 16:58:38 +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
Alexander Alekhin
5383a625a7 fix Win build, change default WINNT macro to WinXP
Returning to Win2k value is possible via this CMake option:

    cmake -DOPENCV_EXTRA_FLAGS="/D_WIN32_WINNT=0x0500" ...
2016-08-25 16:21:52 +03:00
Pavel Vlasov
a462d76a95 Implementations instrumentation framework for OpenCV performance system; 2016-08-17 16:26:03 +03:00
Gregory Morse
af5bec70cd merge Win10/VS2015 changes 2015-12-17 21:15:59 +01:00
Maksim Shabunin
5618f4a0ac Fixed: Concurrency static scheduler release failed 2015-09-07 18:59:07 +03:00
Alexander Alekhin
a482dcce46 fix support for pthreads parallel_for 2015-06-11 16:53:07 +03:00
Maksim Shabunin
1f983ec39c Fixed compilation of pthread-based parallel_for with gcc 4.4.3 2015-06-09 13:59:48 +03:00
kalistratovag
bf5393ae58 parallel for on pthreads initial commit
removing trailing whitespaces

Compilation error on Mac fix & warning on android

Warnings fixed on iOs
2015-06-01 17:48:21 +03:00
Maxim Kostin
d1a8171011 Added WinRT concurrency support. 2015-03-18 15:13:08 +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
Adam Borowski
7b0d1c932e Get rid of sysctl includes on Linux.
The 'sysctl' syscall has been strongly deprecated on Linux for ages.
Currently, on old architectures it will spam syslog whenever used, and on
newer ones it's missing from the headers altogether.  Opencv has migrated
away on Linux already, but #includes were left lingering.  This commit
removes them on non-__APPLE__, unbreaking x32 (and probably others).
2015-01-13 01:52:56 +01:00
Maksim Shabunin
ef3d02214b Fixing iOS clang warnings, part 2 2014-10-17 18:14:54 +04:00
Vadim Pisarevsky
e9729a9601 multiple yet minor fixes to make most of the tests pass on Mac with Iris graphics 2014-08-16 00:29:10 +04:00
peng xiao
2519a21935 Fix a potential bug of ParallelLoopBodyWrapper::operator(Range)
On a 32-bit compiler the calculation may result in data (size_t) overflow when running some paralleled algorithms (which can safely run on a 64-bit compiler).
This bug is found when running OpenCV's Retina tutorial on 32bit VS2010.
2013-08-23 15:35:55 +08:00
Alexander Smorkalov
6257df1c4b API restricted on WinRT partially removed from core.
Additional CMAKE flag WITH_WINRT added.
2013-07-31 05:43:51 -07:00
Roman Donchenko
c16316c4b4 Replaced the semi-public CV_PARALLEL_FRAMEWORK macro with a function.
That way, core/internal.hpp doesn't have to depend on cvconfig.h, which we
don't ship.
2013-06-24 12:57:14 +04:00
Roman Donchenko
24d84a45b1 Made tests record in the XML output which parallel framework was used. 2013-06-18 18:26:53 +04:00
Daniil Osokin
6deda2531c Fixed getNumThreads() for C= 2013-02-14 17:07:36 +04:00
Andrey Kamaev
fd4909360f Remove windows.h include from opencv2/core/internal.hpp to avoid conflicts with TBB library. 2012-11-01 12:44:10 +04:00
Andrey Kamaev
40030d2ca0 Fix windows build warnings 2012-10-22 19:13:18 +04:00
Andrey Kamaev
7173c82382 Include unistd.h to parallel.cpp on UNIX-like systems
This fixes build without TBB and CUDA. Issue #2445
2012-10-19 14:38:30 +04:00
Andrey Kamaev
ebac3a02aa Fix backward compatibility of opencv_core 2012-10-16 15:13:00 +04:00
Vadim Pisarevsky
78a0b9787c fixed build errors on Mac; moved test for #2332 from imgproc to highgui 2012-10-15 13:55:32 +04:00
Andrey Kamaev
460644b8a4 Reimplement thread management functions:
* Refactor auto-detection of parallel frameworks
* Implement cv:getNumThreads, cv::setNumThreads and cv::getThreadNum for all supported frameworks
* From now cv::setNumThreads(0) can be used to turn off parallelisation
2012-10-15 12:44:16 +04:00
Andrey Kamaev
b54f59de90 Move thread-related functions implementation to parallel.cpp 2012-10-15 12:44:16 +04:00
Vadim Pisarevsky
bddd06e6c4 another fix for the updated parallel_for_ implementation 2012-10-11 23:22:32 +04:00
Vadim Pisarevsky
d64438dcfd fixed build errors in the case of TBB and Concurrency 2012-10-11 23:04:45 +04:00
Vadim Pisarevsky
354a5f2686 added recommended number of stripes to parallel_for_, modified some of the functions to use larger stripes (for better performance) 2012-10-11 22:37:14 +04:00
Vadim Pisarevsky
e625d86485 added C= support; modified threading logic in threshold 2012-10-10 15:36:32 +04:00
Ilya Lavrenov
0e07b0d73a uncommented auto enabling GCD on Mac 2012-09-24 14:18:15 +04:00
Ilya Lavrenov
077115bd4a debug 2012-09-24 12:40:20 +04:00
Andrey Kamaev
8e2258c494 Fix Windows build after commit:41b6d25 2012-08-19 00:20:08 +04:00
Vadim Pisarevsky
ec8f926686 small correction for the previous patch in parallel.cpp 2012-08-17 17:34:51 +04:00
Vadim Pisarevsky
41b6d25bdd added cross-platform Mutex implementation; enable platform-native (GDC/Concurrency) parallel_for_ implementation when TBB is not installed. 2012-08-17 17:32:06 +04:00
Vadim Pisarevsky
310b1ad7b9 moved parallel_for_ and ParallelLoopBody to core.hpp 2012-08-03 16:41:00 +04:00