[Developers] Re: [Patches] Make PUGH's memory statistics work again
goodale at cct.lsu.edu
Tue Dec 13 12:04:17 CST 2005
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
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.
-------------- 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
# Wavetoy parameter file demonstrating radiation boundaries in Octant
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