如何在Intel TBB的parallel_for循环中指定循环步骤?

时间:2013-04-15 09:17:48

标签: c++ multithreading tbb

我想利用intel TBB的库做这样的事情(伪代码):

some function( int index, Mat data, vector<int> other ) {

}

int start = 0
int end = 100
int step = 5

parallel_for( start, end, step, some function )

但是我不确定如何将其他参数传递给'some function'。我应该怎么做才能将我的附加数据传递给并行化函数,而不使它们成为静态/全局?

我知道你可以使用C ++的lambda函数来做到这一点,但是由于某些情况(与其他库的冲突),我无法使用它。

除此之外,我知道我们可以使用Range来指定循环范围,但是,有什么办法可以在Range中设置循环步骤吗?

我想提前感谢你!

1 个答案:

答案 0 :(得分:1)

请参阅http://software.intel.com/sites/products/documentation/doclib/tbb_sa/help/hh_goto.htm#tbb_userguide/parallel_for.htm上的示例。它展示了如何为parallel_for手动滚动仿函数。