\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. 