Top-level non-bonded data structure for the Verlet-type cut-off scheme.
|
| nonbonded_verlet_t (std::unique_ptr< PairlistSets > pairlistSets, std::unique_ptr< PairSearch > pairSearch, std::unique_ptr< nbnxn_atomdata_t > nbat, const Nbnxm::KernelSetup &kernelSetup, gmx_nbnxn_gpu_t *gpu_nbv, gmx_wallcycle *wcycle) |
| Constructs an object from its components.
|
|
bool | useGpu () const |
| Returns whether a GPU is use for the non-bonded calculations.
|
|
bool | emulateGpu () const |
| Returns whether a GPU is emulated for the non-bonded calculations.
|
|
bool | pairlistIsSimple () const |
| Return whether the pairlist is of simple, CPU type.
|
|
void | initPairlistSets (bool haveMultipleDomains) |
| Initialize the pair list sets, TODO this should be private.
|
|
gmx::ArrayRef< const int > | getLocalAtomOrder () const |
| Returns the order of the local atoms on the grid.
|
|
void | setLocalAtomOrder () |
| Sets the order of the local atoms to the order grid atom ordering.
|
|
gmx::ArrayRef< const int > | getGridIndices () const |
| Returns the index position of the atoms on the search grid.
|
|
void | constructPairlist (gmx::InteractionLocality iLocality, const t_blocka *excl, int64_t step, t_nrnb *nrnb) |
| Constructs the pairlist for the given locality.
|
|
void | setAtomProperties (const t_mdatoms &mdatoms, gmx::ArrayRef< const int > atomInfo) |
| Updates all the atom properties in Nbnxm.
|
|
void | convertCoordinates (gmx::AtomLocality locality, bool fillLocal, gmx::ArrayRef< const gmx::RVec > coordinates) |
| Convert the coordinates to NBNXM format for the given locality. More...
|
|
void | convertCoordinatesGpu (gmx::AtomLocality locality, bool fillLocal, DeviceBuffer< float > d_x, GpuEventSynchronizer *xReadyOnDevice) |
| Convert the coordinates to NBNXM format on the GPU for the given locality. More...
|
|
void | atomdata_init_copy_x_to_nbat_x_gpu () |
| Init for GPU version of setup coordinates in Nbnxm.
|
|
void | insertNonlocalGpuDependency (gmx::InteractionLocality interactionLocality) |
| Sync the nonlocal GPU stream with dependent tasks in the local queue.
|
|
const PairlistSets & | pairlistSets () const |
| Returns a reference to the pairlist sets.
|
|
bool | isDynamicPruningStepCpu (int64_t step) const |
| Returns whether step is a dynamic list pruning step, for CPU lists.
|
|
bool | isDynamicPruningStepGpu (int64_t step) const |
| Returns whether step is a dynamic list pruning step, for GPU lists.
|
|
void | dispatchPruneKernelCpu (gmx::InteractionLocality iLocality, const rvec *shift_vec) |
| Dispatches the dynamic pruning kernel for the given locality, for CPU lists.
|
|
void | dispatchPruneKernelGpu (int64_t step) |
| Dispatches the dynamic pruning kernel for GPU lists.
|
|
void | dispatchNonbondedKernel (gmx::InteractionLocality iLocality, const interaction_const_t &ic, const gmx::StepWorkload &stepWork, int clearF, const t_forcerec &fr, gmx_enerdata_t *enerd, t_nrnb *nrnb) |
| Executes the non-bonded kernel of the GPU or launches it on the GPU.
|
|
void | dispatchFreeEnergyKernel (gmx::InteractionLocality iLocality, const t_forcerec *fr, rvec x[], gmx::ForceWithShiftForces *forceWithShiftForces, const t_mdatoms &mdatoms, t_lambda *fepvals, real *lambda, gmx_enerdata_t *enerd, const gmx::StepWorkload &stepWork, t_nrnb *nrnb) |
| Executes the non-bonded free-energy kernel, always runs on the CPU.
|
|
void | atomdata_add_nbat_f_to_f (gmx::AtomLocality locality, gmx::ArrayRef< gmx::RVec > force) |
| Add the forces stored in nbat to f, zeros the forces in nbat. More...
|
|
void | atomdata_add_nbat_f_to_f_gpu (gmx::AtomLocality locality, DeviceBuffer< float > totalForcesDevice, void *forcesPmeDevice, gmx::ArrayRef< GpuEventSynchronizer *const > dependencyList, bool useGpuFPmeReduction, bool accumulateForce) |
| Add the forces stored in nbat to total force using GPU buffer opse. More...
|
|
void | atomdata_init_add_nbat_f_to_f_gpu (GpuEventSynchronizer *localReductionDone) |
| Outer body of function to perform initialization for F buffer operations on GPU. More...
|
|
void * | get_gpu_frvec () |
| return GPU pointer to f in rvec format
|
|
const Nbnxm::KernelSetup & | kernelSetup () const |
| Return the kernel setup.
|
|
real | pairlistInnerRadius () const |
| Returns the outer radius for the pair list.
|
|
real | pairlistOuterRadius () const |
| Returns the outer radius for the pair list.
|
|
void | changePairlistRadii (real rlistOuter, real rlistInner) |
| Changes the pair-list outer and inner radius.
|
|
void | setupGpuShortRangeWork (const gmx::GpuBonded *gpuBonded, const gmx::InteractionLocality iLocality) |
| Set up internal flags that indicate what type of short-range work there is.
|
|
bool | haveGpuShortRangeWork (const gmx::AtomLocality aLocality) |
| Returns true if there is GPU short-range work for the given atom locality.
|
|