Gromacs
2024.3
|
#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, const gmx::MDLogger &mdlog, Nbnxm::KernelType kernelType, int enbnxninitcombrule, int ntype, gmx::ArrayRef< const real > nbfp, int n_energygroups, int nout) | |
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. | |
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. | |
bool | bUseBufferFlags |
Reduction related dataUse the flags or operate on all atoms. | |
std::vector< gmx_bitmask_t > | buffer_flags |
Flags for buffer zeroing+reduc. | |
nbnxn_atomdata_t::nbnxn_atomdata_t | ( | gmx::PinningPolicy | pinningPolicy, |
const gmx::MDLogger & | mdlog, | ||
Nbnxm::KernelType | kernelType, | ||
int | enbnxninitcombrule, | ||
int | ntype, | ||
gmx::ArrayRef< const real > | nbfp, | ||
int | n_energygroups, | ||
int | nout | ||
) |
Constructor.
[in] | pinningPolicy | Sets the pinning policy for all data that might be transferred to a GPU |
[in] | mdlog | The logger |
[in] | kernelType | Nonbonded NxN kernel type |
[in] | enbnxninitcombrule | LJ combination rule |
[in] | ntype | Number of atom types |
[in] | nbfp | Non-bonded force parameters |
[in] | n_energygroups | Number of energy groups |
[in] | nout | Number of output data structures |