jipolanco / PencilArrays.jl

Distributed Julia arrays using the MPI protocol
https://jipolanco.github.io/PencilArrays.jl/dev/
MIT License
60 stars 8 forks source link

Easy data slicing #73

Open reidrr opened 1 year ago

reidrr commented 1 year ago

I frequently want to write out only a small portion of the total pencil array to disk, often a 1D or 2D subsection that needs contributions from several workers. Possibly the planes y=15 and z = 0 for example. Is there currently an easy way to do this? What I have done so far has been to work out which workers have some of the needed data, get the data from each worker and reassemble it on rank = 0 before writing it to the disk.

I am hoping that I am missing an obvious way to do it with the existing methods as my efforts so far have been prone to bugs in the edge cases. All suggestions are much appreciated!

jipolanco commented 1 year ago

Hi, unfortunately right now there is no easy way to do this, simply because it has not yet been implemented. It would be great to have a slicing function in this package, even though right now I don't have a lot of time to work on this.

Can you share your attempts, in case I can provide some help? Maybe they can also serve as a basis for a potential implementation in this package.