Orrery
A GPU-accelerated N-body gravitational simulator
Loading...
Searching...
No Matches
orrery::solvers::EvaluationTimings Struct Reference

Where the time of one force evaluation went. More...

#include <orrery/solvers/barnes_hut_solver.hpp>

Public Attributes

backend::Duration ordering {}
 Computing and sorting the Morton codes.
backend::Duration construction {}
 Building the octree over the sorted order, moments included.
backend::Duration gathering {}
 Gathering the sorted positions and masses.
backend::Duration traversal {}
 Walking the tree for every particle, which is the part that should dominate.

Detailed Description

Where the time of one force evaluation went.

Three clock readings per evaluation, against a walk measured in milliseconds. They are taken unconditionally because the alternative, a build option or a template parameter, would mean the configuration that reports the breakdown is not the configuration that was measured.

This is not a substitute for the harness in benchmarks/. It is a division of one evaluation into its parts, and a benchmark still has to run many of them and report a median with its dispersion. What it answers is the question a single total cannot: whether a tree solver that is slower than expected is slow at building or slow at walking, which are different problems with different remedies.


The documentation for this struct was generated from the following file: