[Developers] Re: [Patches] Make PUGH's memory statistics work again

Tom Goodale goodale at cct.lsu.edu
Tue Dec 13 12:04:17 CST 2005


Hi Erik,

I'm glad someone is finally attacking and fixing this problem.

Unfortunately, when I apply your patch and run the attached parameter 
file, there is a core dump when the code finishes.  The approach looks 
good, 'though.

Cheers,

Tom


On Wed, 2 Nov 2005, Erik Schnetter wrote:

> PUGH's memory statistics were broken since it switched from En-/ 
> DisableGroupStorage to In-/DecreaseGroupStorage.  The statistics were taken 
> only when the old mechanism was used.
>
> This patch moves the statistic keeping into a lower level routine, namely the 
> routine that actually calls the malloc and free routines.  This ensures that 
> the statistics are always correct.  A disadvantage is that the distinction 
> between grid functions and grid arrays is lost at that time.
>
> In particular, the patch does the following:
>
> (1) Change the variables that contain the memory statistics.  They are now 
> double instead of float, track bytes instead of megabytes (no fractional part 
> has more accuracy), and they are renamed according to their new meaning. 
> They also track the number grid variables times number of time levels, 
> because it is too difficult to track the number of grid variables alone. 
> Personally, I find the new value also more interesting.
>
> (2) Remove the old statistics code.
>
> (3) Add the new statistics code.  This routine takes as arguments some values 
> which are also available as parameters.  Since the routine now needs a 
> CCTK_DECLARE_PARAMETERS to find out whether it should print to stdout, I 
> rename the routine arguments.
>
> (4) Update the routine that prints the statistics.
>
> (5) Fix a typo in a comment.
>
> -erik
>
>
-------------- next part --------------
# wavetoy_rad.par - wavetoy evolution with radiation boundaries
# $Id: wavetoyfortran_rad.par,v 1.7 2004/03/09 13:47:30 schnetter Exp $
#
# /*@@
#   @file      wavetoy_rad.par
#   @date      Sunday 24th July
#   @author    Gabrielle Allen
#   @desc
#   Wavetoy parameter file demonstrating radiation boundaries in Octant
#   @enddesc
# @@*/          

ActiveThorns = "localreduce idscalarwave time wavetoyfreef90 boundary pugh pughreduce pughslab CartGrid3D CoordBase SymBase ioutil ioascii iobasic"
 
time::dtfac = 0.5

IDScalarWave::initial_data = "gaussian"
IDScalarWave::sigma        = 2.8
IDScalarWave::radius       = 0

wavetoy::bound        = "radiation"

grid::type = "BySpacing"
grid::domain = "octant"
grid::dxyz = 0.3

driver::global_nx = 30
driver::global_ny = 30
driver::global_nz = 30

cactus::cctk_itlast = 120

IOBasic::outScalar_every = 2
IOBasic::outScalar_vars = "wavetoy::phi"

IOASCII::out1D_every = 2
IOASCII::out1D_z = "no"
IOASCII::out1D_y = "no"
IOASCII::out1D_vars = "wavetoy::phi "

IOBasic::outInfo_every = 10
IOBasic::outInfo_vars = "wavetoy::phi"
 
IO::out_dir = "wavetoyfortran_rad"

#PUGH::storage_verbose = "yes"


More information about the Developers mailing list