#include <memory>
#include "gromacs/mdlib/nbnxn_gpu_types.h"
#include "gromacs/mdlib/nbnxn_pairlist.h"
This file contains the public interface of the non-bonded Verlet module that implements the NxN 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
|
#define | LOCAL_A(x) ((x) == eatLocal) |
| Tests for local atom range.
|
|
#define | NONLOCAL_A(x) ((x) == eatNonlocal) |
| Tests for non-local atom range.
|
|
#define | LOCAL_OR_NONLOCAL_A(x) (LOCAL_A(x) || NONLOCAL_A(x)) |
| Tests for either local or non-local atom range.
|
|
#define | LOCAL_I(x) ((x) == eintLocal) |
| Tests for local interaction indicator.
|
|
#define | NONLOCAL_I(x) ((x) == eintNonlocal) |
| Tests for non-local interaction indicator.
|
|
|
enum | EmulateGpuNonbonded : bool { EmulateGpuNonbonded::No,
EmulateGpuNonbonded::Yes
} |
| Help pass GPU-emulation parameters with type safety. More...
|
|
enum | nbnxn_kernel_type {
nbnxnkNotSet = 0,
nbnxnk4x4_PlainC,
nbnxnk4xN_SIMD_4xN,
nbnxnk4xN_SIMD_2xNN,
nbnxnk8x8x8_GPU,
nbnxnk8x8x8_PlainC,
nbnxnkNR
} |
| Nonbonded NxN kernel types: plain C, CPU SIMD, GPU, GPU emulation.
|
|
enum | { ewaldexclTable,
ewaldexclAnalytical
} |
| Ewald exclusion types.
|
|
enum | { eatLocal = 0,
eatNonlocal = 1,
eatAll
} |
| Atom locality indicator: local, non-local, all. More...
|
|
enum | { eintLocal = 0,
eintNonlocal = 1
} |
| Interaction locality indicator. More...
|
|
enum | { enbvClearFNo,
enbvClearFYes
} |
| Flag to tell the nonbonded kernels whether to clear the force output buffers.
|
|
Atom locality indicator: local, non-local, all.
Used for calls to: gridding, pair-search, force calculation, x/f buffer operations
Interaction locality indicator.
Used in pair-list search/calculations in the following manner:
- local interactions require local atom data and affect local output only;
- non-local interactions require both local and non-local atom data and affect both local- and non-local output.
Help pass GPU-emulation parameters with type safety.
Enumerator |
---|
No |
Do not emulate GPUs.
|
Yes |
Do emulate GPUs.
|
const char* lookup_nbnxn_kernel_name |
( |
int |
kernel_type | ) |
|
Return a string identifying the kernel type.
- Parameters
-
[in] | kernel_type | nonbonded kernel types, takes values from the nbnxn_kernel_type enum |
- Returns
- a string identifying the kernel corresponding to the type passed as argument