#include <memory>
#include <optional>
#include <string>
#include "gromacs/gpu_utils/devicebuffer_datatype.h"
#include "gromacs/mdtypes/locality.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/enumerationhelpers.h"
#include "gromacs/utility/real.h"
#include "gromacs/utility/vectypes.h"
#include "nbnxm_enums.h"
This file contains the public interface of the nbnxm module that implements the NxM atom cluster non-bonded algorithm to efficiently compute pair forces.
- Author
- Berk Hess hess@.nosp@m.kth..nosp@m.se
-
Szilárd Páll pall..nosp@m.szil.nosp@m.ard@g.nosp@m.mail.nosp@m..com
|
| enum | { enbvClearFNo,
enbvClearFYes
} |
| | Flag to tell the nonbonded kernels whether to clear the force output buffers.
|
| |
|
std::unique_ptr
< nonbonded_verlet_t > | gmx::init_nb_verlet (const MDLogger &mdlog, const t_inputrec &inputrec, const t_forcerec &forcerec, const MpiComm &mpiComm, const gmx_domdec_t *dd, const gmx_hw_info_t &hardwareInfo, bool useGpuForNonbonded, bool useGpuForNonbondedFE, const DeviceStreamManager *deviceStreamManager, const gmx_mtop_t &mtop, bool localAtomOrderMatchesNbnxmOrder, ObservablesReducerBuilder *observablesReducerBuilder, ArrayRef< const RVec > coordinates, matrix box, gmx_wallcycle *wcycle) |
| | Creates an Nbnxm object.
|
| |
| void | gmx::nbnxn_put_on_grid_nonlocal (nonbonded_verlet_t *nb_verlet, const gmx::DomdecZones &zones, ArrayRef< const int32_t > atomInfo, ArrayRef< const RVec > x) |
| | As nbnxn_put_on_grid, but for the non-local atoms. More...
|
| |
|
std::optional< std::string > | gmx::nbnxmGpuClusteringDescription () |
| | Returns information for describing the NBNXM GPU clustering support, if applicable to the build.
|
| |