OpenMP #pragma omp for v/s #pragma omp parallel for 之间的区别?

Posted

技术标签:

【中文标题】OpenMP #pragma omp for v/s #pragma omp parallel for 之间的区别?【英文标题】:Difference between OpenMP #pragma omp for v/s #pragma omp parallel for? 【发布时间】:2020-01-27 08:58:53 【问题描述】:

有什么区别:

 #pragma omp for
  for_loop

 #pragma omp parallel for
  for_loop

【问题讨论】:

不一样.... omp for 而不是简单的 omp 好吧,我的错。它并不完全相同,但它提供了足够的信息来回答您的问题。我为您的具体问题添加了答案。 【参考方案1】:

#pragma omp parallel

这会产生一组线程。

#pragma omp for

这会在线程之间划分循环迭代。

基本上,

#pragma omp parallel
#pragma omp for
for (...)

相同
#pragma omp parallel for
for (...)

【讨论】:

以上是关于OpenMP #pragma omp for v/s #pragma omp parallel for 之间的区别?的主要内容,如果未能解决你的问题,请参考以下文章

错误:“num_thread”之前的预期“#pragma omp”子句

嵌套循环中未正确忽略内部循环的 Pragma omp parallel

在 OpenMP 中,我们如何并行运行多个代码块,其中每个代码块包含 omp single 和 omp for 循环?

通过分离#omp parallel 和#omp for 来减少 OpenMP fork/join 开销

OpenMP:不能同时使用 omp parallel for 和 omp task 吗? /错误:工作共享区域可能没有紧密嵌套在工作共享内

“pragma omp parallel for”中的“omp_get_num_threads”给了我编译错误