Ask Your Question

parallel_for_ : nstripes parameter

asked 2017-11-10 08:23:25 -0500 gravatar image

updated 2017-11-10 10:14:44 -0500

Hi what means nstripes in parallel_for_

edit retag flag offensive close merge delete


documentation needs a contributor for more explanation.

sturkmen gravatar imagesturkmen ( 2017-11-10 10:12:55 -0500 )edit

1 answer

Sort by ยป oldest newest most voted

answered 2017-11-10 09:49:53 -0500

matman gravatar image

updated 2017-11-10 09:51:18 -0500

It's the number of stripes you parallel loop is splitted. It is not the number of threads. Here is the implementation for OpenMP for example (Stripe range is calculated here). There are different cases nstripes can be set:

  1. nstripes == cv::getNumThreads() every thread is assigned to one stripe. This can be useful if there is some overhead in thread preparation
  2. nstripes < cv::getNumThreads() just nstripes threads can be used because the loop isn't splitted in enough stripes to use all threads. This should be the same as reducing number of threads
  3. nstripes > cv::getNumThreads() Some or all threads are getting more than one stripe to calculate. This can be useful if there is no or not much overhead in thread preparation and calculation times of different stripes are inhomogeneous.
edit flag offensive delete link more
Login/Signup to Answer

Question Tools

1 follower


Asked: 2017-11-10 08:23:25 -0500

Seen: 494 times

Last updated: Nov 10 '17