diff options
author | Thomas Radke <tradke@aei.mpg.de> | 2006-09-11 09:24:00 +0000 |
---|---|---|
committer | Thomas Radke <tradke@aei.mpg.de> | 2006-09-11 09:24:00 +0000 |
commit | fa5ac80a79ffd1461f38d7aacc594ff33178c106 (patch) | |
tree | c1b3f82696f17654409275a76b9be1f5830c4dce /Carpet/doc | |
parent | 85354d0637128578474f00847d5b4fc43fc67bc2 (diff) |
Carpet/doc: more info on timing Carpet
Added to the "Carpet Timers" subsection Erik's email
http://lists.carpetcode.org/archives/developers/2006-September/001877.html
on how to measure the performance of a mesh refinement simulation on multiple
processors.
darcs-hash:20060911092455-776a0-f4f70144a8499648a254682732f61b9f030797da.gz
Diffstat (limited to 'Carpet/doc')
-rw-r--r-- | Carpet/doc/documentation.tex | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/Carpet/doc/documentation.tex b/Carpet/doc/documentation.tex index e9333c9bb..c5beb5dc6 100644 --- a/Carpet/doc/documentation.tex +++ b/Carpet/doc/documentation.tex @@ -677,8 +677,8 @@ after handling the time levels has been straightened out. \subsection{Carpet Timers} -{\it The text is this section was extracted from an email thread on the -Carpet developers mailing list (see \url{http://lists.carpetcode.org/archives/developers/2006-August/001821.html})}. +{\it The text is this section was extracted from email threads on the +Carpet developers mailing list (see \url{http://lists.carpetcode.org/archives/developers/2006-August/001821.html} and \url{http://lists.carpetcode.org/archives/developers/2006-September/001877.html})}. Special timers have been added to both {\tt Carpet} and {\tt CarpetLib} so that it would be easier to attribute time spent to different parts of @@ -741,6 +741,34 @@ Use {\tt CarpetLib::print\_timestats\_every} to activate these timers. Note that understanding these timers probably requires some in-depth knowledge of Carpet's communication mechanism. +In order to measure the performance of a mesh refinement simulation on multiple processors, I suggest to use parameters such as the following: + +\begin{verbatim} +# Activate standard Cactus timer output +Cactus::cctk_timer_output = full + +# Activate an additional clock based on MPI +# (important for runs on multiple processors) +ActiveThorns = "MPIClock" # This thorn is in AlphaThorns + +# Produce timing information in regular intervals +# (important since runs may abort early) +ActiveThorns = "TimerReport" # This thorn is in CactusUtils +TimerReport::out_every = 1024 + +# Activate Carpet timers +# (using additional timers for mesh refinement related activities) +Carpet::output_timers_every = 1024 + +# Activate CarpetLib timers +# (measuring inter-processor communication) +CarpetLib::print_timestats_every = 1024 +CarpetLib::print_memstats_every = 1024 +\end{verbatim} + +You should replace the number 1024 with a number of iterations that corresponds to several coarse grid time steps; timing output every ten minutes or so would be reasonable. + +Currently all timer output goes to stdout. That will be improved soon. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Further documentation} |