研究文章

使用Coarrays遗留Fortran程序并行化:策略和案例研究

清单8

优化集体和例程。
子例程vector_co_sum_parallel(向量)
真正的(rkind),意图(inout)::向量(:)[*]
真正的(rkind),可分配::临时(:)
整数形象,一步
分配(温度、模具=向量)
一步= 2
做而(步骤/ 2 < =num_images())
同步所有
如果(this_image()+ / 2步< =num_images())然后
temp =矢量+ [this_image()+一步/ 2)
其他的
temp =向量
如果
同步所有
向量= temp
一步= * 2步
最后做
同步所有
如果(this_image()/ = = 1)向量向量 1
同步所有
子程序结束