|
template<ElecType elecType, VdwType vdwType, bool doPrune, bool doCalcEnergies, PairlistType pairlistType> |
static const std::string | gmx::getKernelName () |
| Lookup kernel name based on launch configuration.
|
|
static __device__ float2 | gmx::fetchNbfpC6C12 (const float2 *nbfpComb, int type) |
|
static __device__ float2 | gmx::convertSigmaEpsilonToC6C12 (const float sigma, const float epsilon) |
| Convert sigma and epsilon VdW parameters to c6 ,c12 pair.
|
|
template<bool doCalcEnergies> |
static __device__ void | gmx::ljForceSwitch (const shift_consts_t dispersionShift, const shift_consts_t repulsionShift, const float2 c6c12, const float rVdwSwitch, const float rInv, const float r2, float *fInvR, float *eLJ) |
| Calculate force and energy for a pair of atoms, VdW force-switch flavor.
|
|
template<enum VdwType vdwType> |
static __device__ float | gmx::calculateLJEwaldC6Grid (const Float2 *nbfpComb, const int typeI, const int typeJ) |
| Fetch C6 grid contribution coefficients and return the product of these.
|
|
template<bool doCalcEnergies, enum VdwType vdwType> |
static __device__ void | gmx::ljEwaldComb (const Float2 *nbfpComb, const float sh_lj_ewald, const int typeI, const int typeJ, const float r2, const float r2Inv, const float lje_coeff2, const float lje_coeff6_6, const float pairExclMask, float *fInvR, float *eLJ) |
| Calculate LJ-PME grid force contribution with geometric or LB combination rule.
|
|
template<bool doCalcEnergies> |
static __device__ void | gmx::ljPotentialSwitch (const switch_consts_t vdwSwitch, const float rVdwSwitch, const float rInv, const float r2, float *fInvR, float *eLJ) |
| Apply potential switch.
|
|
static __device__ float | gmx::pmeCorrF (const float z2) |
| Calculate analytical Ewald correction term.
|
|
static __device__ float2 | gmx::fetchCoulombForceR (const float *coulombTable, int index) |
|
static __device__ float | gmx::interpolateCoulombForceR (const float *coulombTable, const float coulombTabScale, const float r) |
| Interpolate Ewald coulomb force correction using the F*r table.
|
|
template<PairlistType pairlistType> |
static __device__ float | gmx::reduceForceJWarpShuffle (AmdPackedFloat3 f, const int tidxi) |
| Reduce c_clSize j-force components using AMD DPP instruction. More...
|
|
template<PairlistType pairlistType> |
static __device__ float | gmx::reduceForceIWarpShuffle (AmdPackedFloat3 f, const int tidxi, const int tidxj) |
| Lowest level i force reduction. More...
|
|
template<PairlistType pairlistType, bool calculateShift> |
static __device__ float3 | gmx::reduceForceIAtomics (AmdPackedFloat3 input, float3 *result, const int tidxj, const int aidx) |
| Lowest level i force reduction. More...
|
|
template<bool calculateShift, PairlistType pairlistType> |
static __device__ void | gmx::reduceForceI (AmdPackedFloat3 *input, float3 *result, const int tidxi, const int tidxj, const int tidx, const int sci, float3 *fShift, const int shiftBase) |
| Reduce i forces. More...
|
|
template<PairlistType pairlistType> |
static __device__ void | gmx::reduceEnergyWarpShuffle (float localLJ, float localEl, float *gm_LJ, float *gm_El, int tidx) |
| Energy reduction kernel. More...
|
|
template<bool doPruneNBL, bool doCalcEnergies, enum ElecType elecType, enum VdwType vdwType, int nthreadZ, int minBlocksPerMp, PairlistType pairlistType> |
| gmx::__launch_bounds__ (c_clSizeSq< pairlistType > *nthreadZ, minBlocksPerMp) __global__ static void nbnxmKernel(NBAtomDataGpu atdat |
| Main kernel for NBNXM. More...
|
|