【发布时间】:2012-07-13 12:39:32
【问题描述】:
我有一个 C 并行 for 循环,其中包括类似的行
b[i] = b[0];
所以我需要在开始任何其他迭代之前完成第一次迭代。是否有强制执行此类行为的条款?
【问题讨论】:
-
让 999 个 gpu 核心等待 1 个 gpu 核心完成比我认为在 cpu 中计算要慢
-
因为您在第一个周期仅浪费 999*(gpu power) 为 1 gpu power。
-
@tuğrul 那又怎样?有时这是不可避免的。此外,这与普通串行代码中发生的情况相同。但这也无关紧要,OpenMP 不适用于 GPU。
-
即使你只有 2-cpu 核心,让其他核心等待也可能引发死锁
-
这里不涉及gpu,只有24个至强核心的工作站