gpt4 book ai didi

c++ - 并行区域内的 For 循环

转载 作者:搜寻专家 更新时间:2023-10-31 01:53:10 24 4
gpt4 key购买 nike

如果在并行区域内有一个 for 循环,for 循环会再次并行化还是每个线程都执行自己的 for 循环?

T sum;

#pragma omp parallel
{
#pragma omp for reduction(+: sum)
for (;;)
{
T priv_var;

sum += priv_var;
}
}

最佳答案

是的,此代码将导致 OpenMP 在 parallel 区域生成的线程中并行执行 for 循环。但是,我认为您当前的 for 语句对于 OpenMP 并行化无效。您需要显式提供整数循环变量、开始和结束以及递增表达式。

实际上,您的代码将等同于带有 #pragma omp parallel for reduction(+: sum) 的单个循环。

More information on MDSN

关于c++ - 并行区域内的 For 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11493265/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com