ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
tuning.cpp File Reference
#include "tuning.hpp"
#include "cell_system/CellStructure.hpp"
#include "communication.hpp"
#include "errorhandling.hpp"
#include "integrate.hpp"
#include "nonbonded_interactions/nonbonded_interaction_data.hpp"
#include "system/System.hpp"
#include <utils/statistics/RunningAverage.hpp>
#include <boost/mpi/collectives/all_reduce.hpp>
#include <boost/mpi/collectives/broadcast.hpp>
#include <boost/range/algorithm/max_element.hpp>
#include <boost/range/algorithm/min_element.hpp>
#include <mpi.h>
#include <algorithm>
#include <functional>
#include <string>
+ Include dependency graph for tuning.cpp:

Go to the source code of this file.

Namespaces

namespace  System
 

Functions

static void check_statistics (Utils::Statistics::RunningAverage< double > &acc)
 
static void run_full_force_calc (System::System &system, int reuse_forces)
 
double benchmark_integration_step (System::System &system, int int_steps)
 Benchmark the integration loop.
 
static double time_calc (System::System &system, int int_steps)
 Time the integration.
 

Function Documentation

◆ benchmark_integration_step()

double benchmark_integration_step ( System::System system,
int  int_steps 
)

Benchmark the integration loop.

Call System::System::integrate() several times and measure the elapsed time without propagating the system. It therefore doesn't include e.g. Verlet list updates.

Parameters
systemThe system to tune.
int_stepsNumber of integration steps.
Returns
Average time per integration loop in milliseconds.

Definition at line 75 of file tuning.cpp.

References Utils::Statistics::RunningAverage< Scalar >::add_sample(), Utils::Statistics::RunningAverage< Scalar >::avg(), check_statistics(), comm_cart, INTEG_REUSE_FORCES_CONDITIONALLY, INTEG_REUSE_FORCES_NEVER, run_full_force_calc(), and this_node.

Referenced by TuningAlgorithm::get_mc_time(), and CoulombMMM1D::tune().

◆ check_statistics()

◆ run_full_force_calc()

static void run_full_force_calc ( System::System system,
int  reuse_forces 
)
static

Definition at line 68 of file tuning.cpp.

References INTEG_ERROR_RUNTIME, and System::System::integrate().

Referenced by benchmark_integration_step().

◆ time_calc()

static double time_calc ( System::System system,
int  int_steps 
)
static

Time the integration.

This times the integration and propagates the system.

Parameters
systemThe system to tune.
int_stepsNumber of steps to integrate.
Returns
Time per integration in ms.

Definition at line 108 of file tuning.cpp.

References INTEG_ERROR_RUNTIME, INTEG_REUSE_FORCES_CONDITIONALLY, INTEG_REUSE_FORCES_NEVER, and System::System::integrate().

Referenced by System::System::tune_verlet_skin().