[ET Trac] [Einstein Toolkit] #2035: NaNChecker should not use integer division
Einstein Toolkit
trac-noreply at einsteintoolkit.org
Thu Apr 27 08:39:08 CDT 2017
#2035: NaNChecker should not use integer division
--------------------------+-------------------------------------------------
Reporter: eschnett | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: Other | Version: development version
Resolution: | Keywords:
--------------------------+-------------------------------------------------
Comment (by eschnett):
Here is an excerpt of the most expensive routines of a unigrid Cowling
benchmark run:
{{{
+ 18.10% 17.83% cactus_sim cactus_sim [.]
ML_ADMConstraints::ML_ADMConstraints_evaluate_Body
+ 13.39% 0.35% cactus_sim cactus_sim [.] void
HydroToyOpenMP::tiled_task_loop
+ 6.40% 6.21% cactus_sim cactus_sim [.]
NaNChecker::CHECK_DATA<double>
+ 6.34% 2.08% cactus_sim libc-2.17.so [.]
__memset_sse2
}}}
- ADMConstraints is much more expensive than it should be. I don't know
yet why, but I also see it is not being vectorized.
- The call to memset comes mostly from within Carpet, and is likely due to
poisoning that I activated.
- I don't show I/O here that is also taking significant time, but that is
fine since the benchmark run lasts only for ten iterations, so output is
relatively more expensive. Ditto for setting up initial conditions.
- The second column shows how much time is spent in the particular routine
itself. Since the hydro implementation calls subroutines, that time is
very small.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/2035#comment:2>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
More information about the Trac
mailing list