I have a 3D array, which I need to split into equal n parts, so that each part would run on a different node. I found the picture in the attachment from this website (https://computing.llnl.gov/tutorials/parallel_comp/#DesignPartitioning) on the different ways to partition data. I am interested in the block methods, as the cyclic methods wouldn't really work for me at all. Obviously the *, BLOCK and the BLOCK, * methods would be really easy to implement for 3D arrays, assuming that the 2D picture would be looking at the array from the top. My question is if there are other better ways to do it from a performance standpoint?

Thanks for your replies,

Alex