[aspect-devel] Progress in writing the mantle convection code Aspect
Wolfgang Bangerth
bangerth at math.tamu.edu
Fri Nov 1 13:53:54 PDT 2013
>> The way this is supposed to work is that on every MPI rank, the
>> postprocessor manager lets the individual postprocessor objects
>> serialize their data. This produces a string that each rank then
>> sends to the root where it is serialized into the checkpoint file.
>
> Even if this is how it works (or will work), I’m not sure this is a
> good idea for serializing particles because there can potentially be
> many more particles than will fit on a single node. It seems it
> would be better to use parallel MPI I/O for all processes to write
> directly to the file.
Good point. I will add a section to the manual's discussion of
postprocessor implementations about this. What I'll write is this:
- every processor asks its postprocessors to serialize their data
- but only processor 0 actually writes it out
- upon restart, every processor reads the checkpoint file
- every processor asks its postprocessors to restore their data
from what processor 0 had originally written
- if that's inappropriate because the same postprocessor across
different MPI ranks do not replicate the exact same data, then
they need to serialize their data by hand.
> Another problem is if the checkpoint file is structured based on the
> number of processes, you won’t be able to change the number of
> processes midway through a simulation as I believe we currently can.
> I’m not sure how much of a benefit this is, but it’s worth keeping in
> mind.
True. It's going to be interesting to see how easy that is for particles
since now you have an enormous dump of particles and every processor
will have to figure out which particles it needs to own if the number of
processors changes.
Best
W.
--
------------------------------------------------------------------------
Wolfgang Bangerth email: bangerth at math.tamu.edu
www: http://www.math.tamu.edu/~bangerth/
More information about the Aspect-devel
mailing list