Fusing a triangle loop for parallelization, calculating sub-indices

前端 未结 3 1747
余生分开走
余生分开走 2020-12-10 06:42

A common technique in parallelization is to fuse nested for loops like this

for(int i=0; i

to

3条回答
  •  一向
    一向 (楼主)
    2020-12-10 07:13

    The most sane form is of course the first form.

    That said, the fused form is better done with conditionals:

    int i = 0; int j = 0;
    for(int x=0; x<(n*(n+1)/2); x++) {
      // ...
      ++j;
      if (j>i)
      {
        j = 0;
        ++i;
      }
    }
    

提交回复
热议问题