<div dir="ltr"><div><div>Hi Everyone,<br><br></div>Would it be a good idea to arrange the data in fastest direction in the following manner for the ease of aligned loads and vector operations?<br><br></div><div>Total grid points = 4n<br>
</div><div>0, n, 2n, 3n, 1, n+1, 2n+1, 3n+1 and so on<br></div><div>Ref: "Tuning a Finite Difference Computation for Parallel Vector Processors"<br><a href="http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6341495">http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6341495</a><br>
<br></div><div>This change in the global memory layout would mix up the ghost zones in Petscs' DMDAs and I guess change the matrix structure seperating adjacent points by a distance = 4. One can even make the distance = 8 and load one full cacheline in one go. I was wondering if this memory layout can be used for computations using Petscs' DMDAs and if the preconditioners would be ok with this kind of an arrangement.<br>
<br></div><div>Thanks,<br>Mani<br></div></div>