Bernard
Did you set the parameters that Ian Hinder suggested? This will make interpreting the timing output much easier.
Time is not only spent in routines, but also in infrastructure tasks not listed here (regridding etc.). Ian Hinder implemented a tree-form timer output that makes it much easier to see how much time is spent on what task. I don't recall the options to select this -- Ian, is this Carpet::output_timer_tree_every and friends?
Yes. That one displays the timer tree of the current process to standard output, and is useful for a quick overview. I recommend enabling it in all simulations. Unfortunately, it doesn't do a reduction across processes. You can also output the top N timers, not in tree form, using n_top_timers; these *are* reduced across processes, but because many of the timers overlap (e.g. some timers contain other timers), it is harder to get a good overview. You can also output an XML file per process containing the full hierarchical timer tree, which you can process in some other tool to do the reduction across processes (I have code in Mathematica to do this, if you are interested).
Ideally, I would like the stdout timer tree to include reductions across processes (min/max/average), and to have a version of the XML output which was also similarly reduced. The reason this was not easy to do was that you could have different timers existing on each process, so some reductions wouldn't work. It might be that this is no longer the case, and that implementing the reductions would be more straightforward now. Erik?
_______________________________________________
Users mailing list
Users@einsteintoolkit.org
http://lists.einsteintoolkit.org/mailman/listinfo/users