\label{fig:gridmaps} Examples of different mappings from a 2D grid to a linear array: (a) standard map, (b) grid mapped by small parallelepipedic subgrids, and (c) mapping given by a Hilbert space-filling curve. These last two mappings provide a much better memory locality for semi-local operations than the standard approach.