Gromacs
2021.4
|
#include <gromacs/nbnxm/atomdata.h>
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 Params & | params () const |
Returns a const reference to the parameters. | |
Params & | paramsDeprecated () |
Returns a non-const reference to the parameters. | |
int | numAtoms () const |
Returns the current total number of atoms stored. | |
gmx::ArrayRef< const real > | x () const |
Return the coordinate buffer, and q with xFormat==nbatXYZQ. | |
gmx::ArrayRef< real > | x () |
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::RVec > | shift_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_t > | buffer_flags |
Flags for buffer zeroing+reduc. | |
gmx_bool | bUseTreeReduce |
Use tree for force reduction. | |
tMPI_Atomic * | syncStep |
Synchronization step for tree reduce. | |
nbnxn_atomdata_t::nbnxn_atomdata_t | ( | gmx::PinningPolicy | pinningPolicy | ) |
Constructor.
[in] | pinningPolicy | Sets the pinning policy for all data that might be transfered to a GPU |