calcHist should handle parallel operations for small images better (Feature #4465)
Description
At the moment calcHist always tries to split the image up by rows and perform the operation in parallel under TBB.
There are a couple of problems:- If the height of the image is less than the threads TBB is using then OpenCV sends a grainSize of 0 to TBB which is invalid and violates an assertion in TBB
- For small (in height) images on machines with many cores the overhead of TBB can far exceed the benefit of splitting up the operation, and may even cause stalls inside TBB (see #4353)
Related issues
related to Bug #4353: 100% CPU / lockup / stalled in cv::ThresholdRunner::opera... | Cancelled | 2015-05-21 |
History
Updated by Alexander Alekhin over 9 years ago
Current implementation of calcHist contains TBB only optimization under "#if HAVE_TBB"
Need to verify existed parallel optimization and to check possibility of migration to "parallel_for_"
P.S. Also need to check another code under HAVE_TBB
- Status changed from New to Open
Updated by Maksim Shabunin over 9 years ago
Issue has been transferred to GitHub: https://github.com/Itseez/opencv/issues/5059