Analysis
Temp := (A@N + A@E + A@W + A@S)/4.0;
err := max<< abs(Temp - A);
4 instances of @-comm + local computation for Temp := (A@N+A@E+A@W+A@S)/4.0
No communication for abs(Temp - A)
O(log P) per aggregate step and broadcast step for err:=max<<
No communication for A := Temp