0

我想利用英特尔 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 )

但是我不确定如何将附加参数传递给“某个函数”。为了能够将我的附加数据传递给并行化函数,而不使它们成为静态/全局,我应该怎么做?

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

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

我要提前谢谢你!

4

1 回答 1

1

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

于 2013-04-16T14:29:31.617 回答