Gromacs
2021.2

#include <gromacs/mdtypes/simulation_workload.h>
Manage what computation is required during the simulation.
Holds information on the type of workload constant for the entire simulation, and independent of the particle interactions handled on any specific domain.
An object of this type is constructed at the beginning of the simulation and is expected to not change. Additionally, the initialization is uniform across ranks of a simulation, even with MPMD decomposition and separate PME ranks.
Public Attributes  
bool  computeNonbonded = false 
Whether to compute nonbonded pair interactions.  
bool  computeNonbondedAtMtsLevel1 = false 
Wether nonbonded pair forces are to be computed at slow MTS steps only.  
bool  computeMuTot = false 
Whether total dipole needs to be computed.  
bool  useCpuNonbonded = false 
If we have calculation of short range nonbondeds on CPU.  
bool  useGpuNonbonded = false 
If we have calculation of short range nonbondeds on GPU.  
bool  useCpuPme = false 
If we have calculation of long range PME in GPU.  
bool  useGpuPme = false 
If we have calculation of long range PME in GPU.  
bool  useGpuPmeFft = false 
If PME FFT solving is done on GPU.  
bool  useGpuBonded = false 
If bonded interactions are calculated on GPU.  
bool  useGpuUpdate = false 
If update and constraint solving is performed on GPU.  
bool  useGpuBufferOps = false 
If buffer operations are performed on GPU.  
bool  useGpuHaloExchange = false 
If domain decomposition halo exchange is performed on GPU.  
bool  useGpuPmePpCommunication = false 
If direct PPPME communication between GPU is used.  
bool  useGpuDirectCommunication = false 
If direct GPUGPU communication is enabled.  
bool  haveEwaldSurfaceContribution = false 
If there is an Ewald surface (dipole) term to compute.  