openMP减少和线程数控制

时间:2015-05-29 15:15:22

标签: openmp

我使用OpenMP作为:

#pragma omp parallel for reduction(+:average_stroke_width)
for(int i = 0; i < GB_name.size(); ++i) {...}

我知道我可以使用:

#pragma omp parallel for num_threads(thread)
for(int index = 0; index < GB_name.size(); ++index){...}

使用还原时如何控制线程号?

1 个答案:

答案 0 :(得分:0)

  

使用还原时如何控制线程号?

这两个条款都可以用于:

#pragma omp parallel for reduction(+:average_stroke_width) num_threads(thread)
for(int i = 0; i < GB_name.size(); ++i) {...}

请注意reduction涉及所有线程,因此您不能拥有8个线程的并行循环,然后仅使用4个线程执行减少。减少结合了所有线程中的本地值,因此所有线程都需要参与。