Gromacs
2024.3
|
#include <gromacs/mdtypes/simulation_workload.h>
Describes work done on this domain by the current rank that may change per-step.
This work description is based on the SimulationWorkload in the context of the current particle interactions assigned to this domain as well as other factors that may change during the lifetime of a domain.
Note that unlike the other workload descriptors, these flags are also used on dedicated PME ranks, hence the content is rank-specific (at least when it comes to flags related to PME).
Note that the contents of an object of this type is valid for a single step and it is expected to be set at the beginning each step.
Public Attributes | |
bool | stateChanged = false |
Whether the state has changed, always set unless TPI is used. | |
bool | haveDynamicBox = false |
Whether the box might have changed. | |
bool | doNeighborSearch = false |
Whether neighbor searching needs to be done this step. | |
bool | computeSlowForces = false |
Whether the slow forces need to be computed this step (in addition to the faster forces) | |
bool | computeVirial = false |
Whether virial needs to be computed this step. | |
bool | computeEnergy = false |
Whether energies need to be computed this step this step. | |
bool | computeForces = false |
Whether (any) forces need to be computed this step, not only energies. | |
bool | useOnlyMtsCombinedForceBuffer = false |
Whether only the MTS combined force buffers are needed and not the separate normal force buffer. | |
bool | computeNonbondedForces = false |
Whether nonbonded forces need to be computed this step. | |
bool | computeListedForces = false |
Whether listed forces need to be computed this step. | |
bool | computeDhdl = false |
Whether this step DHDL needs to be computed. | |
bool | useGpuXBufferOps = false |
Whether coordinate buffer ops are done on the GPU this step. More... | |
bool | useGpuFBufferOps = false |
Whether force buffer ops are done on the GPU this step. | |
bool | useGpuPmeFReduction = false |
Whether PME forces are reduced with other contributions on the GPU this step. | |
bool | useGpuXHalo = false |
Whether GPU coordinates halo exchange is active this step. | |
bool | useGpuFHalo = false |
Whether GPU forces halo exchange is active this step. | |
bool | haveGpuPmeOnThisRank = false |
Whether GPU PME work is computed on the current rank this step (can be false on PP-only ranks or on fast steps with MTS) | |
bool | computePmeOnSeparateRank = false |
Whether a separate PME rank has any work this step. | |
bool | combineMtsForcesBeforeHaloExchange = false |
Whether to combine the forces for multiple time stepping before the halo exchange. | |
bool | clearGpuFBufferEarly = false |
Whether to clear local force buffer on the device early on in the step. | |
bool gmx::StepWorkload::useGpuXBufferOps = false |
Whether coordinate buffer ops are done on the GPU this step.