[Users] counting number of bytes communicated in Carpet
schnetter at cct.lsu.edu
Tue Feb 14 09:13:01 CST 2017
Thorn Carpet does not yet count communicated bytes; this feature was
never completed. However, thorn CarpetLib has timers that do count
There are two similar timing classes, one defined in Carpet/Timers's
"Timer.hh", the other in CarpetLib's "timestat.hh". Unfortunately,
both are called "Timer", although they live in different namespaces
(Timers and CarpetLib, respectively). This is a result of an
incomplete transition from timestat.hh to the Timers thorn. Only
timestat.hh counts bytes as well.
(Incidentally, I am currently transitioning to a third timing class
which is (a) thread-safe (thorn Timers isn't) and (b) uses C++
features instead of thorn CycleClock.)
To find out details, look at the routine "CarpetLib_printtimestats"
that outputs the timing statistics with the byte counts. This is
rather low-level output, and is not aggregated across processes. There
are a few CarpetLib parameters with "timestat" in their name that
control this. By default, these files are called
These statistics contain actual byte counts, gathered next to the
actual MPI statements. Thorn Carpet might also produce higher-level
estimates based on numbers of grid functions, component sizes, numbers
of ghost zones etc.; these numbers would be less reliable.
On Tue, Feb 14, 2017 at 12:38 AM, Roland Haas <rhaas at illinois.edu> wrote:
> Hello Erik, all,
> is there a (simple?) way to output the total amount of data communicated
> in a run? I tried Carpet::timing and its comm_bytes_count however that
> one is only set in Carpet/src/Timing.c's EndTimingCommunication function
> which does not seem to be called anywhere anymore.
> My email is as private as my paper mail. I therefore support encrypting
> and signing email messages. Get my PGP key from http://keys.gnupg.net.
> Users mailing list
> Users at einsteintoolkit.org
Erik Schnetter <schnetter at cct.lsu.edu>
More information about the Users