【发布时间】:2013-01-21 01:08:02
【问题描述】:
我是 OpenMP 新手,无法在每个线程循环迭代中创建线程。我的问题可能听起来很幼稚,请多多包涵。
#pragma omp parallel private(a,b) shared(f)
{
#pragma omp for
for(...)
{
//some operations
// I want to parallelize the code in italics along within in the multi threaded for loop
*int x=func1(a,b);*
*int val1=validate(x);*
*int y=func2(a,b);*
*int val2=validate(y);*
}
}
【问题讨论】:
-
我建议在底部添加一个段落来解释您的实际问题。从代码sn-p看不清楚。
-
我能够并行化一个 for 循环,每个 for 循环迭代几乎没有顺序 CPU 功能。我想为循环的每次迭代使用线程来运行函数以节省时间。
-
当循环的迭代已经分布在所有线程之间时,为什么还要并行运行这些函数,这超出了我的理解?
标签: c++ multithreading openmp