[Developers] optimising the size of checkpoints

Thomas Radke tradke at aei.mpg.de
Sun Jun 19 18:24:19 CDT 2005


Thomas Radke wrote:
> Erik Schnetter wrote:
> 
>> Since the tags are tables, it would need to be checkpoint=0 or 
>> checkpoint="no" (with quotes).  I would prefer the former, which would 
>> make it CCTK_INT, the same as boolean parameters.
> 
> 
> Sounds good to me. Would it also make sense to code in the integer how 
> many timelevels should be checkpointed ?
> 
> 
>> How much would be saved?  Did you try estimating what fraction of data 
>> is unnecessary?
> 
> 
> Well, you people doing productions runs tell me. Christian estimates a 
> reduction of ~30-40% (which sounds a bit too much to me) but that was 
> probably with Carpet::enable_all_storage left to "yes", Christian ? It 
> would also need careful revision of analysis thorns before one can add 
> those do-no-checkpoint tags to grid variables. But as a start I'll 
> prepare a patch which implements such tags and also adds the necessary 
> logic to the existing checkpoint methods.

After doing some tests with checkpointing and Carpet::enable_all_storage 
= "no" I reconsidered my suggestion above and put its implementation on 
a low priority level.
It turns out that checkpointing Carpet runs with only necessary storage 
switched on reduces the overall size of the checkpoint drastically (from 
  480 MBytes down to 300 MBytes for 
AEIThorns/BSSN_MoL/par/BenchBSSN_MoL_40l_3rl.par on a single processor). 
The only change necessary in the parfile was to set ADM_BSSN::timelevels 
= 3.

Rather than implementing the checkpoint tags feature now, I propose to 
change the default for Carpet::enable_all_storage and fix existing 
parfiles accordingly. This seems much easier and has the most impact on 
optimising the size of checkpoints.


-- 
Cheers, Thomas.



More information about the Developers mailing list