约简操作可将数组中的元素约简为单个值。例如,在对数组元素求和并送入单个变量时,需要在每次迭代时更新该变量:
DO K = 1,N SUM = SUM + A(I)*B(I) END DO
如果以并行方式运行该循环的每个处理器均取得了迭代的一些子集,这些处理器将会相互干扰,从而覆盖 SUM 中的值。为使之正常工作,每个处理器每次必须执行一次求和,但顺序并不重要。
编译器会将某些常见的约简操作视为特例进行处理。