Gromacs  2021.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Public Attributes
nbnxn_atomdata_t Struct Reference

#include <gromacs/nbnxm/atomdata.h>

+ Collaboration diagram for nbnxn_atomdata_t:

Description

Struct that stores atom related data for the nbnxn module.

Note: performance would improve slightly when all std::vector containers in this struct would not initialize during resize().

Classes

struct  Params
 The actual atom data parameter values. More...
 
struct  SimdMasks
 Diagonal and topology exclusion helper data for all SIMD kernels. More...
 

Public Member Functions

 nbnxn_atomdata_t (gmx::PinningPolicy pinningPolicy)
 Constructor. More...
 
const Paramsparams () const
 Returns a const reference to the parameters.
 
ParamsparamsDeprecated ()
 Returns a non-const reference to the parameters.
 
int numAtoms () const
 Returns the current total number of atoms stored.
 
gmx::ArrayRef< const realx () const
 Return the coordinate buffer, and q with xFormat==nbatXYZQ.
 
gmx::ArrayRef< realx ()
 Return the coordinate buffer, and q with xFormat==nbatXYZQ.
 
void resizeCoordinateBuffer (int numAtoms)
 Resizes the coordinate buffer and sets the number of atoms.
 
void resizeForceBuffers ()
 Resizes the force buffers for the current number of atoms.
 

Public Attributes

int natoms_local
 Number of local atoms.
 
int XFormat
 The format of x (and q), enum.
 
int FFormat
 The format of f, enum.
 
gmx_bool bDynamicBox
 Do we need to update shift_vec every step?
 
gmx::HostVector< gmx::RVecshift_vec
 Shift vectors, copied from t_forcerec.
 
int xstride
 stride for a coordinate in x (usually 3 or 4)
 
int fstride
 stride for a coordinate in f (usually 3 or 4)
 
const SimdMasks simdMasks
 Masks for handling exclusions in the SIMD kernels.
 
std::vector
< nbnxn_atomdata_output_t
out
 Output data structures, 1 per thread.
 
gmx_bool bUseBufferFlags
 Reduction related dataUse the flags or operate on all atoms.
 
std::vector< gmx_bitmask_tbuffer_flags
 Flags for buffer zeroing+reduc.
 
gmx_bool bUseTreeReduce
 Use tree for force reduction.
 
tMPI_Atomic * syncStep
 Synchronization step for tree reduce.
 

Constructor & Destructor Documentation

nbnxn_atomdata_t::nbnxn_atomdata_t ( gmx::PinningPolicy  pinningPolicy)

Constructor.

Parameters
[in]pinningPolicySets the pinning policy for all data that might be transfered to a GPU

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