Gromacs  2024.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
decidesimulationworkload.cpp File Reference
#include "gmxpre.h"
#include "gromacs/taskassignment/decidesimulationworkload.h"
#include "gromacs/essentialdynamics/edsam.h"
#include "gromacs/ewald/pme.h"
#include "gromacs/listed_forces/listed_forces.h"
#include "gromacs/listed_forces/listed_forces_gpu.h"
#include "gromacs/mdlib/force_flags.h"
#include "gromacs/mdtypes/forcerec.h"
#include "gromacs/mdtypes/iforceprovider.h"
#include "gromacs/mdtypes/mdatom.h"
#include "gromacs/mdtypes/multipletimestepping.h"
#include "gromacs/pulling/pull.h"
#include "gromacs/taskassignment/decidegpuusage.h"
#include "gromacs/taskassignment/taskassignment.h"
#include "gromacs/utility/arrayref.h"
+ Include dependency graph for decidesimulationworkload.cpp:

Description

Declares utility functions to manage step, domain-lifetime, and run workload data structures.

Author
Paul Bauer paul..nosp@m.baue.nosp@m.r.q@g.nosp@m.mail.nosp@m..com
Szilárd Páll pall..nosp@m.szil.nosp@m.ard@g.nosp@m.mail.nosp@m..com

Functions

SimulationWorkload gmx::createSimulationWorkload (const t_inputrec &inputrec, bool disableNonbondedCalculation, const DevelopmentFeatureFlags &devFlags, bool havePpDomainDecomposition, bool haveSeparatePmeRank, bool useGpuForNonbonded, PmeRunMode pmeRunMode, bool useGpuForBonded, bool useGpuForUpdate, bool useGpuDirectHalo, bool canUseDirectGpuComm, bool useGpuPmeDecomposition)
 Build datastructure that contains decisions whether to run different workload task on GPUs. More...
 
static bool gmx::haveSpecialForces (const t_inputrec &inputrec, const gmx::ForceProviders &forceProviders, const pull_t *pull_work, const gmx_edsam *ed)
 Return true if there are special forces computed. More...
 
DomainLifetimeWorkload gmx::setupDomainLifetimeWorkload (const t_inputrec &inputrec, const t_forcerec &fr, const pull_t *pull_work, const gmx_edsam *ed, const t_mdatoms &mdatoms, const SimulationWorkload &simulationWork)
 Set up workload flags that have the lifetime of the PP domain decomposition. More...
 
StepWorkload gmx::setupStepWorkload (const int legacyFlags, ArrayRef< const gmx::MtsLevel > mtsLevels, const int64_t step, const DomainLifetimeWorkload &domainWork, const SimulationWorkload &simulationWork)
 Set up force flag struct from the force bitmask. More...