data----> proc A0 B0 C0 A0+A1+A2 B0+B1+B2 C0+C1+C2 | A1 B1 C1 REDUCE - - - V A2 B2 C2 --------> - - - A0 B0 C0 A0+A1+A2 B0+B1+B2 C0+C1+C2 A1 B1 C1 ALLREDUCE A0+A1+A2 B0+B1+B2 C0+C1+C2 A2 B2 C2 --------> A0+A1+A2 B0+B1+B2 C0+C1+C2 A0 B0 C0 REDUCE- A0+A1+A2 - - A1 B1 C1 SCATTER B0+B1+B2 - - A2 B2 C2 --------> C0+C1+C2 - - A0 B0 C0 A0 B0 C0 A1 B1 C1 SCAN A0+A1 B0+B1 C0+C1 A2 B2 C2 -------> A0+A1+A2 B0+B1+B2 C0+C1+C2