Gromacs  2021-beta2-UNCHECKED
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Public Attributes
bonded_threading_t Struct Reference

#include <gromacs/listed_forces/listed_internal.h>

+ Collaboration diagram for bonded_threading_t:


struct contain all data for bonded force threading

Public Member Functions

 bonded_threading_t (int numThreads, int numEnergyGroups, FILE *fplog)

Public Attributes

int nthreads = 0
 Number of threads to be used for bondeds.
std::vector< std::unique_ptr
< f_thread_t > > 
 Force/energy data per thread, size nthreads, stored in unique_ptr to allow thread local allocation.
int nblock_used = 0
 The number of force blocks to reduce.
std::vector< int > block_index
 Index of size nblock_used into mask.
std::vector< gmx_bitmask_tmask
 Mask array, one element corresponds to a block of reduction_block_size atoms of the force array, bit corresponding to thread indices set if a thread writes to that block.
bool haveBondeds = false
 true if we have and thus need to reduce bonded forces
int numAtomsForce = 0
 The number of atoms forces are computed for.
int max_nthread_uniform = 0
 Maximum thread count for uniform distribution of bondeds over threads.
WorkDivision workDivision
 The division of work in the t_list over threads.
WorkDivision foreignLambdaWorkDivision
 Work division for free-energy foreign lambda calculations, always uses 1 thread.

The documentation for this struct was generated from the following files: