gpt4 book ai didi

c - pgcc,C - 循环未并行化 : may not be beneficial

转载 作者:行者123 更新时间:2023-11-30 18:06:44 27 4
gpt4 key购买 nike

我需要帮助来找出带有错误的自动并行化 - 循环未并行化:可能没有好处。我想测试这段代码的并行化,但我不知道如何使代码有效地让编译器并行化。

这是代码:

   for (i = 0; i < piece_length; i++) {
x=(i/(double)piece_length)+piece/(float)2;
// if(x<=1.0){
integral=4/(1+x*x);
sum=sum+integral;
// }

}

循环未并行化:可能没有好处

您知道如何使这个循环需要更多时间才能接受自动并行化吗?

谢谢

最佳答案

sum 中累积的结果取决于计算顺序。我想 pgcc 一定有一种方法可以让你知道你不关心重新排序可能产生的影响。但因此它无法知道也无法并行化任何东西。

在 OpenMp 中你可以输入类似的内容

#pragma omp parallel for reduction(+: sum)

在循环前面。

关于c - pgcc,C - 循环未并行化 : may not be beneficial,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5367153/

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