#include "gmxpre.h"
#include "runner.h"
#include "config.h"
#include <cassert>
#include <csignal>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include "gromacs/commandline/filenm.h"
#include "gromacs/domdec/domdec.h"
#include "gromacs/domdec/domdec_struct.h"
#include "gromacs/ewald/ewald-utils.h"
#include "gromacs/ewald/pme.h"
#include "gromacs/fileio/checkpoint.h"
#include "gromacs/fileio/oenv.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/gmxlib/network.h"
#include "gromacs/gpu_utils/gpu_utils.h"
#include "gromacs/hardware/cpuinfo.h"
#include "gromacs/hardware/detecthardware.h"
#include "gromacs/hardware/printhardware.h"
#include "gromacs/listed-forces/disre.h"
#include "gromacs/listed-forces/orires.h"
#include "gromacs/math/functions.h"
#include "gromacs/math/utilities.h"
#include "gromacs/math/vec.h"
#include "gromacs/mdlib/calc_verletbuf.h"
#include "gromacs/mdlib/constr.h"
#include "gromacs/mdlib/force.h"
#include "gromacs/mdlib/forcerec.h"
#include "gromacs/mdlib/gmx_omp_nthreads.h"
#include "gromacs/mdlib/integrator.h"
#include "gromacs/mdlib/main.h"
#include "gromacs/mdlib/md_support.h"
#include "gromacs/mdlib/mdatoms.h"
#include "gromacs/mdlib/mdrun.h"
#include "gromacs/mdlib/minimize.h"
#include "gromacs/mdlib/nb_verlet.h"
#include "gromacs/mdlib/nbnxn_gpu_data_mgmt.h"
#include "gromacs/mdlib/nbnxn_search.h"
#include "gromacs/mdlib/nbnxn_tuning.h"
#include "gromacs/mdlib/qmmm.h"
#include "gromacs/mdlib/sighandler.h"
#include "gromacs/mdlib/sim_util.h"
#include "gromacs/mdlib/tpi.h"
#include "gromacs/mdrunutility/mdmodules.h"
#include "gromacs/mdrunutility/threadaffinity.h"
#include "gromacs/mdtypes/commrec.h"
#include "gromacs/mdtypes/inputrec.h"
#include "gromacs/mdtypes/md_enums.h"
#include "gromacs/mdtypes/observableshistory.h"
#include "gromacs/mdtypes/state.h"
#include "gromacs/pbcutil/pbc.h"
#include "gromacs/pulling/pull.h"
#include "gromacs/pulling/pull_rotation.h"
#include "gromacs/taskassignment/decidegpuusage.h"
#include "gromacs/taskassignment/resourcedivision.h"
#include "gromacs/taskassignment/taskassignment.h"
#include "gromacs/taskassignment/usergpuids.h"
#include "gromacs/timing/wallcycle.h"
#include "gromacs/topology/mtop_util.h"
#include "gromacs/trajectory/trajectoryframe.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/filestream.h"
#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/gmxmpi.h"
#include "gromacs/utility/logger.h"
#include "gromacs/utility/loggerbuilder.h"
#include "gromacs/utility/pleasecite.h"
#include "gromacs/utility/programcontext.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/utility/stringutil.h"
#include "deform.h"
#include "md.h"
#include "membed.h"
#include "repl_ex.h"
Implements the MD runner routine calling all integrators.
- Author
- David van der Spoel david.nosp@m..van.nosp@m.dersp.nosp@m.oel@.nosp@m.icm.u.nosp@m.u.se
|
static void | gmx::mdrunner_start_fn (void *arg) |
| The callback used for running on spawned threads. More...
|
|
static void | prepare_verlet_scheme (FILE *fplog, t_commrec *cr, t_inputrec *ir, int nstlist_cmdline, const gmx_mtop_t *mtop, const matrix box, bool makeGpuPairList, const gmx::CpuInfo &cpuinfo) |
| Initialize variables for Verlet scheme simulation.
|
|
static void | override_nsteps_cmdline (const gmx::MDLogger &mdlog, gmx_int64_t nsteps_cmdline, t_inputrec *ir) |
| Override the nslist value in inputrec. More...
|
|
static bool | gmx::gpuAccelerationOfNonbondedIsUseful (const MDLogger &mdlog, const t_inputrec *ir, bool issueWarning) |
| Return whether GPU acceleration of nonbondeds is supported with the given settings. More...
|
|
static integrator_t * | gmx::my_integrator (unsigned int ei) |
| Return the correct integrator function.
|
|
static gmx::LoggerOwner | gmx::buildLogger (FILE *fplog, const t_commrec *cr) |
| Initializes the logger for mdrun.
|
|
static TaskTarget | gmx::findTaskTarget (const char *optionString) |
| Make a TaskTarget from an mdrun argument string.
|
|
static void override_nsteps_cmdline |
( |
const gmx::MDLogger & |
mdlog, |
|
|
gmx_int64_t |
nsteps_cmdline, |
|
|
t_inputrec * |
ir |
|
) |
| |
|
static |
Override the nslist value in inputrec.
with value passed on the command line (if any)