[Carpet] IOBasic output issues
Erik Schnetter
schnetter at cct.lsu.edu
Tue Sep 19 17:07:56 CEST 2006
On Sep 19, 2006, at 07:47:46, Wolfgang Kastaun wrote:
> Hi !
> I have some minor problems with CarpetIOBasic:
> -If I try to reduce variables which are only computed when
> triggered by
> some IO method, they are NOT triggered by the reduction, but the
> last computed version is reduced. I guess this is a feature, but it
> would be handy if CarpetIOBasic reduction operations could
> optionally trigger the computation of such variables as well.
Yes, this is annoying. The problem is that CarpetIOBasic operates in
global mode, because it needs to reduce over the whole grid
hierarchy. The Cactus trigger mechanism works in level mode. The
latter is done by the flesh, so Carpet cannot easily do something
about it.
Maybe it is possible to schedule some of the analysis routines
slightly differently, e.g. in global loop-local mode or so. I'll
have to think about that. There are also problems with memory
management; the flesh allocates and deallocates storage also in local
mode.
Finally, if you request output at a time when not all levels are
aligned, then the reduction operation needs to interpolate in time,
requiring the analysis quantity to be calculated at other times than
the time at which it should be output.
One working way around this is to calculate the analysis quantities
in the evol bin, allocating three time levels for these quantities.
This requires more storage and more computations than is ideal.
I think the "triggers" mechanism is too simplistic for mesh
refinement with subcycling in time. It may need to be extended.
> -If I perform 1D/2D runs with no ghostzones in one or two directions,
> and demand reductions of variables which are only computed when
> triggered by an IO routine, I get:
> build/CarpetReduce/reduce.cc:1103: int CarpetReduce::ReduceGVs
> (const cGH*, int, int, int, void*, int,
> const int*, const CarpetReduce::reduction*):
> Assertion `nghostzones[d]>=0 && 2*nghostzones[d]<=lsh[d]' failed.
> Maybe this is connected to the problem above.
This seems unrelated to me. If you have zero ghost zones, then the
assertion should succeed. What are the values of nghostzones and of
lsh at these lines?
> -Since the last update, I am flooded with timing statistics. Could
> we make
> Carpet::print_timestats_every = 0 the default, so one does not
> have to change
> all .par-files ?
That should be possible.
-erik
--
Erik Schnetter <schnetter at cct.lsu.edu>
My email is as private as my paper mail. I therefore support encrypting
and signing email messages. Get my PGP key from www.keyserver.net.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
Url : /archives/developers/attachments/20060919/47965aa9/attachment.pgp
More information about the developers
mailing list