|
double | testGetEps (double epsSingle, double epsDouble) |
| Returns tolerance eps depending on the predefined floating-point precision. More...
|
|
void | testBeginWithArgs (int argc, const char **argv) |
| Initializes the test. More...
|
|
void | testEnd () |
| Ends the test. More...
|
|
void | testMdInit (double t=0, double atm=0) |
| Initializes MD in the test. More...
|
|
void | xAnalyze (int, char **) |
| Entry point of the analyze program. More...
|
|
void | xBar (int, char **) |
| Entry point of the bar program. More...
|
|
void | xDynamic (int, char **) |
| Entry point of the dynamic program. More...
|
|
void | xHelp (int, char **) |
| Entry point of the help program. More...
|
|
void | xInfo (int, char **) |
| Entry point of the info program. More...
|
|
void | xMinimize (int, char **) |
| Entry point of the minimize program. More...
|
|
void | xTestgrad (int, char **) |
| Entry point of the testgrad program. More...
|
|
void | promo () |
| Writes a banner message. More...
|
|
void | initial () |
|
void | mechanic2 () |
| Sets up extra parameters and options in addition to the Fortran mechanic subroutine. More...
|
|
void | initialize () |
| Sets up host and device environment. More...
|
|
void | finish () |
| Cleans up host and device environment. More...
|
|
void | nData (RcOp) |
|
void | massData (RcOp) |
|
void | xyzData (RcOp) |
|
void | copyPosToXyz () |
|
void | copyPosToXyz (bool refreshNBList) |
|
void | bounds () |
|
void | boxData (RcOp) |
| Sets up box data on device. More...
|
|
void | boxDataP1 (RcOp) |
| Internal function used in the setup. More...
|
|
void | boxExtent (double newExtent) |
|
void | boxSetCurrent (const Box &p) |
| Sets the box by the input and updates the box on device. More...
|
|
void | boxGetCurrent (Box &p) |
| Copies the current PBC box to the output variable. More...
|
|
void | boxSetCurrentRecip () |
|
void | boxSetTinker (const Box &p) |
| Updates the related PBC modules of Tinker by p . More...
|
|
void | boxCopyin () |
|
void | boxLattice (Box &p, BoxShape sh, double a, double b, double c, double alphaDeg, double betaDeg, double gammaDeg) |
| Sets up the internal PBC data. Similar to Tinker lattice subroutine. More...
|
|
real | boxVolume () |
|
__global__ void | pcgUdirV1 (int n, const real *polarity, real(*udir)[3], const real(*field)[3]) |
| Calculates the direct induced dipoles 2b . More...
|
|
__global__ void | pcgUdirV2 (int n, const real *polarity, real(*udir)[3], real(*udirp)[3], const real(*field)[3], const real(*fieldp)[3]) |
| Calculates the direct induced dipoles 2b . More...
|
|
__global__ void | pcgRsd0V1 (int n, const real *polarity_inv, real(*rsd)[3], const real(*udir)[3], const real(*uind)[3], const real(*field)[3]) |
| Calculates the initial residuals for the predictor 3a . More...
|
|
__global__ void | pcgRsd0V2 (int n, const real *polarity_inv, real(*rsd)[3], real(*rsp)[3], const real(*udir)[3], const real(*udip)[3], const real(*uind)[3], const real(*uinp)[3], const real(*field)[3], const real(*fielp)[3]) |
| Calculates the initial residuals for the predictor 3a . More...
|
|
__global__ void | pcgRsd0V3 (int n, const real *polarity_inv, real(*rsd)[3], const real(*udir)[3], const real(*uind)[3], const real(*field)[3], const real(*polscale)[3][3]) |
| Calculates the initial residuals for the predictor 3a using the Exchange-Polarization Model. More...
|
|
__global__ void | pcgRsd0 (int n, const real *polarity, real(*rsd)[3], real(*rsdp)[3]) |
| Sets the residual to zero for atoms with zero polarizability. More...
|
|
__global__ void | pcgRsd1 (int n, const real *polarity, real(*rsd)[3]) |
| Sets the residual to zero for atoms with zero polarizability. More...
|
|
__global__ void | pcgP1 (int n, const real *polarity_inv, real(*vec)[3], real(*vecp)[3], const real(*conj)[3], const real(*conjp)[3], const real(*field)[3], const real(*fieldp)[3]) |
| Calculates the vector Ap – step 5a . More...
|
|
__global__ void | pcgP2 (int n, const real *polarity, const real *ka, const real *kap, const real *ksum, const real *ksump, real(*uind)[3], real(*uinp)[3], const real(*conj)[3], const real(*conjp)[3], real(*rsd)[3], real(*rsdp)[3], const real(*vec)[3], const real(*vecp)[3]) |
| Updates the induced dipoles and residuals – step 5bc . More...
|
|
__global__ void | pcgP3 (int n, const real *ksum, const real *ksump, const real *ksum1, const real *ksump1, real(*conj)[3], real(*conjp)[3], const real(*zrsd)[3], const real(*zrsdp)[3]) |
| Calculates the scalar b from s0 and s, then updates the vector p – 5ef . More...
|
|
__global__ void | pcgP4 (int n, const real *polarity_inv, real(*vec)[3], const real(*conj)[3], const real(*field)[3]) |
| Calculates the vector Ap – step 5a . More...
|
|
__global__ void | pcgP5 (int n, const real *polarity, const real *ka, const real *ksum, real(*uind)[3], const real(*conj)[3], real(*rsd)[3], const real(*vec)[3]) |
| Updates the induced dipoles and residuals – step 5bc . More...
|
|
__global__ void | pcgP6 (int n, const real *ksum, const real *ksum1, real(*conj)[3], const real(*zrsd)[3]) |
| Calculates the scalar b from s0 and s, then updates the vector p – 5ef . More...
|
|
__global__ void | pcgPeek (int n, float pcgpeek, const real *polarity, real(*uind)[3], real(*uinp)[3], const real(*rsd)[3], const real(*rsdp)[3]) |
| Applies the peek step. More...
|
|
__global__ void | pcgPeek1 (int n, float pcgpeek, const real *polarity, real(*uind)[3], const real(*rsd)[3]) |
| Applies the peek step. More...
|
|
void | echargeData (RcOp) |
|
void | echarge (int vers) |
|
void | echargeEwaldRecipSelf (int) |
|
void | echgljData (RcOp) |
|
void | echglj (int vers) |
|
void | zeroEGV (int vers=rc_flag) |
| Zero out all of the counts, energies, gradients, and virials on device. More...
|
|
void | scaleGradient (double scale, grad_prec *g0x, grad_prec *g0y, grad_prec *g0z) |
| g0 *= scale . More...
|
|
void | sumGradient (grad_prec *g0x, grad_prec *g0y, grad_prec *g0z, const grad_prec *g1x, const grad_prec *g1y, const grad_prec *g1z) |
| g0 += g1 . More...
|
|
void | sumGradient (double scale, grad_prec *g0x, grad_prec *g0y, grad_prec *g0z, const grad_prec *g1x, const grad_prec *g1y, const grad_prec *g1z) |
| g0 += scale*g1 . More...
|
|
void | copyGradientSync (int vers, double *grdx, double *grdy, double *grdz, const grad_prec *gx_src, const grad_prec *gy_src, const grad_prec *gz_src, int queue) |
| Copies the energy gradients from device to host. More...
|
|
void | copyGradient (int vers, double *grdx, double *grdy, double *grdz, const grad_prec *gx_src, const grad_prec *gy_src, const grad_prec *gz_src) |
| Copies the energy gradients from device to host. More...
|
|
void | copyGradient (int vers, double *grdx, double *grdy, double *grdz) |
|
void | copyEnergy (int vers, energy_prec *eng) |
|
bool | useEwald () |
|
void | elecData (RcOp) |
|
void | energy_core (int vers, unsigned tsflag, const TimeScaleConfig &tsconfig) |
|
void | energy (int vers) |
|
void | energy (int vers, unsigned tsflag, const TimeScaleConfig &tsconfig) |
|
void | energyData (RcOp) |
| Entry point to the setup functions of all the potential energy terms. More...
|
|
bool | useEnergyVdw () |
| Logical flag for use of VDW, repulsion, dispersion, etc. terms. More...
|
|
bool | useEnergyElec () |
| Logical flag for use of electrostatic terms. More...
|
|
void | egvData (RcOp) |
| Sets up data on device. More...
|
|
template<class F > |
F | toFloatingPoint (fixed g) |
| Converts a fixed-point value g to floating-point value on host. More...
|
|
template<class F > |
F | toFloatingPoint (double g) |
| Converts a double-precision g to floating-point value on host. More...
|
|
template<class F > |
F | toFloatingPoint (float g) |
| Converts a single-precision g to floating-point value on host. More...
|
|
size_t | bufferSize () |
|
void | bufferAllocate (int flag, EnergyBuffer *pe, VirialBuffer *pv, grad_prec **px, grad_prec **py, grad_prec **pz) |
|
void | bufferDeallocate (int flag, EnergyBuffer e, VirialBuffer v, grad_prec *gx, grad_prec *gy, grad_prec *gz) |
|
void | bufferAllocate (int flag, CountBuffer *pc) |
|
void | bufferDeallocate (int flag, CountBuffer c) |
|
int | countReduce (const CountBuffer b) |
|
energy_prec | energyReduce (const EnergyBuffer b) |
|
void | virialReduce (virial_prec(&)[VirialBufferTraits::N], const VirialBuffer b) |
|
void | virialReduce (virial_prec(&)[9], const VirialBuffer b) |
|
void | virialReshape (virial_prec(&output)[9], const virial_prec(&input)[VirialBufferTraits::N]) |
| Transforms the shape of a virial variable. More...
|
|
void | evalence (int vers) |
|
void | ebondData (RcOp) |
|
void | ebond (int vers) |
|
void | eangleData (RcOp) |
|
void | eangle (int vers) |
|
void | eopbendData (RcOp) |
|
void | eopbend (int vers) |
|
void | estrbndData (RcOp) |
|
void | estrbnd (int vers) |
|
void | eureyData (RcOp) |
|
void | eurey (int vers) |
|
void | eimpropData (RcOp) |
|
void | eimprop (int vers) |
|
void | eimptorData (RcOp) |
|
void | eimptor (int vers) |
|
void | etorsData (RcOp) |
|
void | etors (int vers) |
|
void | epitorsData (RcOp) |
|
void | epitors (int vers) |
|
void | estrtorData (RcOp) |
|
void | estrtor (int vers) |
|
void | eangtorData (RcOp) |
|
void | eangtor (int vers) |
|
void | etortorData (RcOp) |
|
void | etortor (int vers) |
|
void | egeomData (RcOp) |
|
void | egeom (int vers) |
|
void | vdwSoftcoreData (RcOp) |
|
void | evdwData (RcOp) |
|
void | evdw (int vers) |
|
void | elj (int vers) |
| Lennard-Jones 12-6 potential. More...
|
|
void | elj14 (int vers) |
|
void | ebuck (int vers) |
|
void | emm3hb (int vers) |
|
void | egauss (int vers) |
|
void | ehal (int vers) |
| Halgren buffered 14-7 potential. More...
|
|
void | ehalReduceXyz () |
|
void | ehalResolveGradient () |
|
__device__ void | imageGeneral (real &__restrict__ xr, real &__restrict__ yr, real &__restrict__ zr, BoxShape sh, real3 l1, real3 l2, real3 l3, real3 ra, real3 rb, real3 rc) |
|
__device__ real | image2General (real &__restrict__ xr, real &__restrict__ yr, real &__restrict__ zr, BoxShape sh, real3 l1, real3 l2, real3 l3, real3 ra, real3 rb, real3 rc) |
|
__device__ real | imagen2General (real &xr, real &yr, real &zr, BoxShape sh, real3 l1, real3 l2, real3 l3, real3 ra, real3 rb, real3 rc) |
|
void | coupleData (RcOp) |
|
void | moleculeData (RcOp) |
|
void | groupData (RcOp) |
|
Nbl | vlistVersion () |
|
Nbl | clistVersion () |
|
Nbl | mlistVersion () |
| For multipole, polarization, repulsion, etc. More...
|
|
Nbl | ulistVersion () |
| For sparse preconditioner. More...
|
|
Nbl | dsplistVersion () |
| For dispersion. More...
|
|
void | nblistData (RcOp) |
| Sets up data on device. More...
|
|
void | nblistRefresh () |
| Updates the neighbor lists. More...
|
|
void | pmeData (RcOp) |
|
void | fftData (RcOp) |
|
void | fftfront (PMEUnit) |
|
void | fftback (PMEUnit) |
|
bool | use (Potent term) |
|
int | countBondedTerm (Potent term) |
|
void | spatialUpdate (SpatialUnit) |
|
real | switchCut (Switch mode) |
|
real | switchOff (Switch mode) |
|
const TimeScaleConfig & | defaultTSConfig () |
|
void | emplar (int vers) |
| Multipole and AMOEBA polarization energy. More...
|
|
void | echgtrnData (RcOp) |
|
void | echgtrn (int vers) |
|
void | empoleChgpenData (RcOp) |
|
void | empoleChgpen (int vers) |
|
void | empoleChgpenEwaldRecip (int vers, int useCF) |
|
void | empoleAplusEwald (int vers, int useCF) |
|
void | empoleAplusNonEwald (int vers, int useCF) |
|
void | epolarChgpenData (RcOp) |
|
void | epolarChgpen (int vers) |
|
void | epolarChgpenEwaldRecipSelf (int vers, int use_cf) |
|
void | epolarAplusEwald (int vers, int useCF) |
|
void | epolarAplusNonEwald (int vers, int useCF) |
|
void | erepelData (RcOp) |
|
void | erepel (int vers) |
|
void | repoleInit (int vers) |
|
void | expolData (RcOp) |
|
void | alterpol (real(*polscale)[3][3], real(*polinv)[3][3]) |
|
void | dexpol (int vers) |
|
void | dfieldAplus (real(*field)[3]) |
|
void | ufieldAplus (const real(*uind)[3], real(*field)[3]) |
|
void | sparsePrecondApply3 (const real(*rsd)[3], real(*zrsd)[3]) |
|
template<int N, class T > |
void | symlusolve (const T *aUpRowMajor, T *b) |
| This subroutine uses the LU decomposition method to solve the linear system Ax = b, returning x in b. A is an n by n real symmetric matrix with its upper triangle (including the diagonal) stored by rows. More...
|
|
template<class T , class T2 > |
T | maxOf (T a, T2 b) |
|
template<class T , class T2 , class... Ts> |
T | maxOf (T a, T2 b, Ts... cs) |
|
template<class T , class T2 > |
T | minOf (T a, T2 b) |
|
template<class T , class T2 , class... Ts> |
T | minOf (T a, T2 b, Ts... cs) |
|
double | OUProcess (double t, double x0, double gamma, double a, double b, double R) |
| Returns the value of an Ornstein-Uhlenbeck process after time t. More...
|
|
template<class T > |
T | reduceSum (const T *gpu_a, size_t nelem, int queue) |
| Sum over all of the elements of an 1D array. More...
|
|
template<class HT , size_t HN, class DPTR > |
void | reduceSum2 (HT(&h_ans)[HN], DPTR v, size_t nelem, int queue) |
| Sum over all of the elements of a 2D array. More...
|
|
template<class T > |
void | reduceSumOnDevice (T *dp_ans, const T *a, size_t nelem, int queue) |
| Sum over all of the elements of an 1D array. This routine will save the result on the device memory in an asynchronous/non-blocking manner. A valid device pointer is required for the result on the device. More...
|
|
template<class HT , size_t HN, class DPTR > |
void | reduceSum2OnDevice (HT(&dref)[HN], DPTR v, size_t nelem, int queue) |
| Sum over all of the elements of a 2D array. This routine will save the result on the device memory in an asynchronous/non-blocking manner. A valid device array is required for the result on device. More...
|
|
template<class T > |
T | dotProd (const T *a, const T *b, size_t nelem, int queue) |
| Dot product of two linear arrays. More...
|
|
template<class T > |
void | dotProd (T *ans, const T *a, const T *b, size_t nelem, int queue) |
| Dot product of two linear arrays. More...
|
|
template<class T > |
void | scaleArray (T *dst, T scal, size_t nelem, int queue) |
| Multiply all of the elements in an 1D array by a scalar. More...
|
|
template<class T > |
T | reduceSum_acc (const T *gpu_a, size_t nelem, int queue) |
|
template<class HT , size_t HN, class DPTR > |
void | reduceSum2_acc (HT(&h_ans)[HN], DPTR v, size_t nelem, int queue) |
|
template<class T > |
void | reduceSumOnDevice_acc (T *, const T *, size_t, int) |
|
template<class HT , size_t HN, class DPTR > |
void | reduceSum2OnDevice_acc (HT(&)[HN], DPTR, size_t, int) |
|
template<class T > |
T | dotProd_acc (const T *a, const T *b, size_t nelem, int queue) |
|
template<class T > |
void | dotProd_acc (T *ans, const T *a, const T *b, size_t nelem, int queue) |
|
template<class T > |
void | scaleArray_acc (T *dst, T scal, size_t nelem, int queue) |
|
template<class T > |
T | reduceSum_cu (const T *a, size_t nelem, int queue) |
|
template<class HT , size_t HN, class DPTR > |
void | reduceSum2_cu (HT(&h_ans)[HN], DPTR v, size_t nelem, int queue) |
|
template<class T > |
void | reduceSumOnDevice_cu (T *, const T *, size_t, int) |
|
template<class HT , size_t HN, class DPTR > |
void | reduceSum2OnDevice_cu (HT(&)[HN], DPTR, size_t, int) |
|
template<class T > |
void | dotProd_cu (T *ans, const T *a, const T *b, size_t nelem, int queue) |
|
template<class T > |
void | scaleArray_cu (T *dst, T scal, size_t nelem, int queue) |
|
constexpr bool | isPow2 (size_t val) |
| Return true if and only if val is a power of 2. More...
|
|
constexpr int | pow2 (int val) |
| Integer base 2 power. More...
|
|
constexpr long long | pow2ll (int val) |
| Long long integer base 2 power. More...
|
|
constexpr int | floorLog2_constexpr (size_t val) |
| The base-2 logarithm of val . More...
|
|
constexpr size_t | pow2Le (size_t val) |
| A power of 2 that is less than or equal to val . More...
|
|
constexpr size_t | pow2Ge (size_t val) |
| A power of 2 that is greater than or equal to val . More...
|
|
int | floorLog2 (int val) |
| Non-constexpr floorLog2(int) . More...
|
|
int | floorLog2 (long long val) |
| Non-constexpr floorLog2(long long) . More...
|
|
int | ceilLog2 (int val) |
| Non-constexpr log base 2 ceiling. More...
|
|
int | ceilLog2 (long long val) |
| Non-constexpr log base 2 ceiling. More...
|
|
template<class T > |
T | random () |
| Returns a random number on [0,1] from a uniform distribution. More...
|
|
template<class T > |
T | normal () |
| Returns a random number from a normal Gaussian distribution with a mean of zero and a standard deviation of one. More...
|
|
template<class T > |
T | normal (T u, T s) |
| Returns a random number from a normal Gaussian distribution with a mean of u and a standard deviation of s . More...
|
|
template<class T > |
T | chiSquared (int k) |
| Returns a random number as if the square of k independent standard normal N(0,1) random variables were aggregated. More...
|
|
void | randomData (RcOp) |
|
template<class T > |
T | sinhc (T x) |
| \( \sinh(x)/x \) More...
|
|
template<int N> |
__device__ void | fsinhcCheck () |
|
template<int N, class T > |
__device__ T | fsinhcPade44 (T x2) |
|
template<int N, class T > |
__device__ T | fsinhcTaylor (T x2) |
|
template<int N, class T > |
__device__ T | fsinhcSeries (T x2) |
|
template<class T > |
__device__ T | fsinhcAnalyt7 (T d, T d13, T y, T z) |
|
template<class T > |
__device__ T | fsinhcAnalyt6 (T d, T d11, T y, T z) |
|
template<class T > |
__device__ T | fsinhcAnalyt5 (T d, T d9, T y, T z) |
|
template<class T > |
__device__ T | fsinhcAnalyt4 (T d, T d7, T y, T z) |
|
template<class T > |
__device__ T | fsinhcAnalyt3 (T d, T d5, T y, T z) |
|
template<class T > |
__device__ T | fsinhcAnalyt2 (T d, T d3, T y, T z) |
|
template<class T > |
__device__ T | fsinhcAnalyt1 (T d, T y, T z) |
|
template<int N, class T > |
__device__ void | fsinhcImpl (T d, T &__restrict__ f1d, T &__restrict__ f2d, T &__restrict__ f3d, T &__restrict__ f4d, T &__restrict__ f5d, T &__restrict__ f6d, T &__restrict__ f7d) |
|
template<int DO_DTAPER> |
__device__ void | switchTaper5 (real rik, real cut, real off, real &__restrict__ taper, real &__restrict__ dtaper) |
| Smooth function F: [cut,off]->[1,0] . More...
|
|
template<class T > |
void | matmul3 (T R[3][3], T A[3][3], T B[3][3]) |
| Matrix multiplication of two 3 by 3 matrices. \( R = A B \). Matrices are stored in the row-major order (C-style). More...
|
|
template<class T > |
void | matmul3 (T R[3][3], T A[3][3]) |
| Matrix multiplication of two 3 by 3 matrices. \( R = A R \). Matrices are stored in the row-major order (C-style). More...
|
|
template<class T > |
void | trimatExp (T ans[3][3], T m[3][3], T t) |
| \( \exp(mt) \). Matrix m is 3 by 3 upper triangular. Matrices are stored in the row-major order (C-style). More...
|
|
template<class T > |
void | trimatExpm1c (T ans[3][3], T m[3][3], T t) |
| \( (\exp(mt)-I)/(mt) \). Matrix m is 3 by 3 upper triangular. Matrices are stored in the row-major order (C-style). More...
|
|
template<class T > |
void | trimatTExpm1c (T ans[3][3], T m[3][3], T t) |
| \( t \frac{\exp(mt)-I}{mt} \). Matrix m is 3 by 3 upper triangular. Matrices are stored in the row-major order (C-style). More...
|
|
void | zeroOnHost (int &v) |
| Zeros variable on host. More...
|
|
void | zeroOnHost (float &v) |
| Zeros variable on host. More...
|
|
void | zeroOnHost (double &v) |
| Zeros variable on host. More...
|
|
void | zeroOnHost (unsigned long long &v) |
| Zeros variable on host. More...
|
|
template<class T > |
void | zeroOnHost (T *&ptr) |
| Zeros variable on host. More...
|
|
template<class T , size_t N> |
void | zeroOnHost (T(&v)[N]) |
| Zeros variables on host. More...
|
|
template<class T , class... Ts> |
void | zeroOnHost (T &v, Ts &... vs) |
| Zeros variables on host. More...
|
|
template<class T > |
void | zeroOnDevice3Async_acc (int nelem, T *a1, T *a2, T *a3) |
|
template<class T > |
void | zeroOnDevice3Async_cu (int nelem, T *a1, T *a2, T *a3) |
|
template<class T > |
void | zeroOnDevice3Async (int nelem, T *a1, T *a2, T *a3) |
| Zeros variables on device. More...
|
|
template<class T , int N> |
void | zeroOnDevice3Async_acc (int nelem, T(*a1)[N], T(*a2)[N], T(*a3)[N]) |
|
template<class T , int N> |
void | zeroOnDevice3Async_cu (int nelem, T(*a1)[N], T(*a2)[N], T(*a3)[N]) |
|
template<class T , int N> |
void | zeroOnDevice3Async (int nelem, T(*a1)[N], T(*a2)[N], T(*a3)[N]) |
| Zeros variables on device. More...
|
|
template<class T > |
void | zeroOnDevice9Async_acc (int nelem, T *a1, T *a2, T *a3, T *a4, T *a5, T *a6, T *a7, T *a8, T *a9) |
|
template<class T > |
void | zeroOnDevice9Async_cu (int nelem, T *a1, T *a2, T *a3, T *a4, T *a5, T *a6, T *a7, T *a8, T *a9) |
|
template<class T > |
void | zeroOnDevice9Async (int nelem, T *a1, T *a2, T *a3, T *a4, T *a5, T *a6, T *a7, T *a8, T *a9) |
| Zeros variables on device. More...
|
|
void | lf_lpiston_npt (int istep, time_prec dt_ps) |
|
void | kineticEnergy (energy_prec &eksum_out, energy_prec(&ekin_out)[3][3], int n, const double *mass, const vel_prec *vx, const vel_prec *vy, const vel_prec *vz) |
|
void | kineticExplicit (T_prec &temp_out, energy_prec &eksum_out, energy_prec(&ekin_out)[3][3], const vel_prec *vx, const vel_prec *vy, const vel_prec *vz) |
|
void | kinetic (T_prec &temp) |
|
void | bussiThermostat (time_prec dt, T_prec temp) |
|
void | monteCarloBarostat (energy_prec epot, T_prec temp) |
| Applies a box size correction as needed for the Monte Carlo barostat at the half time step. More...
|
|
void | berendsenBarostat (time_prec dt) |
| Berendsen barostat by scaling the coordinates and box dimensions via coupling to an external constant pressure bath. Code for anisotropic pressure coupling was provided by Guido Raos, Dipartimento di Chimica, Politecnico di Milano, Italy. More...
|
|
void | mdData (RcOp) |
|
void | mdIntegrateData (RcOp) |
|
void | mdrest (int istep) |
|
void | mdrestPrintP1 (bool prints, double e1, double e2, double e3, double totmass) |
|
void | mdPropagate (int nsteps, time_prec dt_ps) |
|
const TimeScaleConfig & | respaTSConfig () |
|
void | mdsaveAsync (int istep, time_prec dt) |
|
void | mdsaveSynchronize () |
|
void | mdsaveData (RcOp) |
|
void | osrw_mech () |
|
void | osrwData (RcOp) |
|
double | osrw_lam_expr0 (int form, double lam) |
|
double | osrw_lam_expr1 (int form, double lam) |
|
double | osrw_lam_expr2 (int form, double lam) |
|
void | osrw_altele (double) |
|
void | osrw_alttor (double) |
|
void | osrw_altvdw (double) |
|
void | osrw_energy (int vers, unsigned tsflag, const TimeScaleConfig &tsconfig) |
|
void | osrw_energy (int vers) |
|
void | mdVelData (RcOp) |
|
void | hcVelIso (vel_prec s) |
| Update velocities by \( v_{ui}(t) = v_{ui}(0) + s V_{u}(0) \). More...
|
|
void | hcVelAn (vel_prec s[3][3]) |
| Update velocities by \( \boldsymbol{v}_{ui}(t) = \boldsymbol{v}_{ui}(0) + \boldsymbol{S}
\boldsymbol{V}_{u}(0) \). More...
|
|
void | hcPosIso (pos_prec s) |
|
void | hcPosAn (pos_prec(*scal)[3]) |
|
template<class Ver > |
__device__ void | dk_angle (real &__restrict__ e, real &__restrict__ vxx, real &__restrict__ vyx, real &__restrict__ vzx, real &__restrict__ vyy, real &__restrict__ vzy, real &__restrict__ vzz, grad_prec *__restrict__ deax, grad_prec *__restrict__ deay, grad_prec *__restrict__ deaz, const Angle *__restrict__ angtyp, real angunit, int i, const int(*__restrict__ iang)[4], const real *__restrict__ anat, const real *__restrict__ ak, const real *__restrict__ afld, real cang, real qang, real pang, real sang, const real *__restrict__ x, const real *__restrict__ y, const real *__restrict__ z) |
|
template<class Ver > |
__device__ void | dk_angtor (real &__restrict__ e, real &__restrict__ vxx, real &__restrict__ vyx, real &__restrict__ vzx, real &__restrict__ vyy, real &__restrict__ vzy, real &__restrict__ vzz, grad_prec *__restrict__ deatx, grad_prec *__restrict__ deaty, grad_prec *__restrict__ deatz, real atorunit, int iangtor, const int(*__restrict__ iat)[3], const real(*__restrict__ kant)[6], const real *__restrict__ anat, const int(*__restrict__ itors)[4], const real(*__restrict__ tors1)[4], const real(*__restrict__ tors2)[4], const real(*__restrict__ tors3)[4], const real *__restrict__ x, const real *__restrict__ y, const real *__restrict__ z) |
|
template<class Ver > |
__device__ void | dk_bond (real &__restrict__ e, real &__restrict__ vxx, real &__restrict__ vyx, real &__restrict__ vzx, real &__restrict__ vyy, real &__restrict__ vzy, real &__restrict__ vzz, grad_prec *__restrict__ debx, grad_prec *__restrict__ deby, grad_prec *__restrict__ debz, Bond bndtyp, real bndunit, int i, const int(*__restrict__ ibnd)[2], const real *__restrict__ bl, const real *__restrict__ bk, real cbnd, real qbnd, const real *__restrict__ x, const real *__restrict__ y, const real *__restrict__ z) |
|
template<int LEVEL, int bsorder> |
__device__ void | bsplgen (real w, real *__restrict__ thetai, volatile real *__restrict__ bsbuild_) |
| B-spline coefficients and derivatives for a single PME atomic site along a particular direction. See also subroutine bsplgen in pmestuf.f file. More...
|
|
template<int LEVEL, int bsorder> |
__device__ void | bsplgen2 (real w, real *__restrict__ thetai, int k, int padded_n, volatile real *__restrict__ bsbuild_) |
|
__device__ int | intCopysignShift (int a, int b) |
| If b < 0 , returns -abs(a) , otherwise, returns abs(a) . Similar to the 32-bit integer version of Fortran SIGN(A,B) . More...
|
|
__device__ int | intCopysignIf (int a, int b) |
| If b < 0 , returns -abs(a) , otherwise, returns abs(a) . More...
|
|
__device__ void | dmpthole2_a (real r, real pgamma, real pdi, real pdk, real &__restrict__ scale3, real &__restrict__ scale5) |
|
__device__ void | damp_thole2 (real r, real pdi, real pti, real pdk, real ptk, real &__restrict__ scale3, real &__restrict__ scale5) |
|
__device__ void | dmpthole3_a (real r, real pgamma, real pdi, real pdk, real &__restrict__ scale3, real &__restrict__ scale5, real &__restrict__ scale7) |
|
__device__ void | damp_thole3 (real r, real pdi, real pti, real pdk, real ptk, real &__restrict__ scale3, real &__restrict__ scale5, real &__restrict__ scale7) |
|
__device__ void | dmpthole3g_a (real r, real rr2, real xr, real yr, real zr, real pgamma, real pdi, real pdk, real &__restrict__ scale31, real &__restrict__ scale51, real &__restrict__ scale71, real &__restrict__ rc31, real &__restrict__ rc32, real &__restrict__ rc33, real &__restrict__ rc51, real &__restrict__ rc52, real &__restrict__ rc53, real &__restrict__ rc71, real &__restrict__ rc72, real &__restrict__ rc73) |
|
__device__ void | damp_thole3g (real r, real rr2, real xr, real yr, real zr, real pdi, real pti, real pdk, real ptk, real &__restrict__ scale31, real &__restrict__ scale51, real &__restrict__ scale71, real &__restrict__ rc31, real &__restrict__ rc32, real &__restrict__ rc33, real &__restrict__ rc51, real &__restrict__ rc52, real &__restrict__ rc53, real &__restrict__ rc71, real &__restrict__ rc72, real &__restrict__ rc73) |
|
__device__ void | dmpthole4_a (real r, real pgamma, real pdi, real pdk, real &__restrict__ ex3, real &__restrict__ ex5, real &__restrict__ ex7, real &__restrict__ ex9) |
|
__device__ void | damp_thole4 (real r, real pdi, real pti, real pdk, real ptk, real &__restrict__ ex3, real &__restrict__ ex5, real &__restrict__ ex7, real &__restrict__ ex9) |
|
template<int order> |
__device__ void | damp_ewald (real *__restrict__ bn, real r, real rinv, real rr2, real aewald) |
|
template<int DirOrder, int MutOrder> |
__device__ void | damp_gordon1 (real *__restrict__ dmpij, real *__restrict__ dmpi, real *__restrict__ dmpj, real r, real ai, real aj) |
|
template<int ORDER> |
__device__ void | damp_pole_deprecated (real *__restrict__ dmpik, real *__restrict__ dmpi, real *__restrict__ dmpk, real r, real alphai, real alphak) |
| deprecated More...
|
|
template<int order> |
__device__ void | damp_pole_v2 (real *__restrict__ dmpij, real *__restrict__ dmpi, real *__restrict__ dmpj, real r, real ai, real aj) |
|
__device__ void | damp_dir (real *__restrict__ dmpi, real *__restrict__ dmpk, real r, real alphai, real alphak) |
|
__device__ void | damp_mut (real *__restrict__ dmpik, real r, real alphai, real alphak) |
|
template<int order> |
__device__ void | damp_rep_deprecated (real *__restrict__ dmpik, real r, real rinv, real r2, real rr3, real rr5, real rr7, real rr9, real rr11, real dmpi, real dmpk) |
|
template<int order> |
__device__ void | damp_rep (real *__restrict__ dmpik, real r, real rr1, real r2, real rr3, real rr5, real rr7, real rr9, real rr11, real ai, real aj) |
|
template<int DO_G> |
__device__ void | damp_hippodisp (real *__restrict__ dmpij, real r, real rr1, real ai, real aj) |
|
template<int ORDER> |
__device__ void | damp_gordon2 (real *__restrict__ dmpik, real *__restrict__ dmpi, real *__restrict__ dmpk, real r, real alphai, real alphak) |
|
__device__ void | damp_aplus3 (real r, real pdi, real ddi, real pdk, real ddk, real &__restrict__ scale3, real &__restrict__ scale5, real &__restrict__ scale7) |
|
__device__ void | damp_aplus3g (real r, real rr2, real xr, real yr, real zr, real pdi, real ddi, real pdk, real ddk, real &__restrict__ scale31, real &__restrict__ scale51, real &__restrict__ scale71, real &__restrict__ rc31, real &__restrict__ rc32, real &__restrict__ rc33, real &__restrict__ rc51, real &__restrict__ rc52, real &__restrict__ rc53, real &__restrict__ rc71, real &__restrict__ rc72, real &__restrict__ rc73) |
|
template<bool do_a> |
__global__ void | empoleSelf_cu (CountBuffer __restrict__ nem, EnergyBuffer __restrict__ em, const real(*__restrict__ rpole)[10], int n, real f, real aewald) |
|
template<bool do_a, bool do_e, int CFLX> |
__global__ void | empoleChgpenSelf_cu (CountBuffer __restrict__ nem, EnergyBuffer __restrict__ em, const real(*__restrict__ rpole)[10], real *__restrict__ pot, int n, real f, real aewald) |
|
__device__ int | ffsnShift (int c1, int n) |
| Find the position of the n-th least significant bit set in a 32-bit integer. Returns a value from 0 to 32. More...
|
|
__device__ int | ffsnLoop (int c1, int n) |
| An alternative implementation of ffsn using loop. More...
|
|
template<class Ver > |
__device__ void | dk_geom_group (real &__restrict__ e, real &__restrict__ vxx, real &__restrict__ vyx, real &__restrict__ vzx, real &__restrict__ vyy, real &__restrict__ vzy, real &__restrict__ vzz, grad_prec *__restrict__ degx, grad_prec *__restrict__ degy, grad_prec *__restrict__ degz, int i, const int(*__restrict__ igfix)[2], const real(*__restrict__ gfix)[3], const real *__restrict__ x, const real *__restrict__ y, const real *__restrict__ z, const double *__restrict__ mass, const int *__restrict__ molec, const int(*__restrict__ igrp)[2], const int *__restrict__ kgrp, const double *__restrict__ grpmass, BoxShape box_shape, real3 lvec1, real3 lvec2, real3 lvec3, real3 recipa, real3 recipb, real3 recipc) |
|
template<class Ver > |
__device__ void | dk_geom_distance (real &__restrict__ e, real &__restrict__ vxx, real &__restrict__ vyx, real &__restrict__ vzx, real &__restrict__ vyy, real &__restrict__ vzy, real &__restrict__ vzz, grad_prec *__restrict__ degx, grad_prec *__restrict__ degy, grad_prec *__restrict__ degz, int i, const int(*__restrict__ idfix)[2], const real(*__restrict__ dfix)[3], const real *__restrict__ x, const real *__restrict__ y, const real *__restrict__ z, const int *__restrict__ molec, BoxShape box_shape, real3 lvec1, real3 lvec2, real3 lvec3, real3 recipa, real3 recipb, real3 recipc) |
|
template<class Ver > |
__device__ void | dk_geom_angle (real &__restrict__ e, real &__restrict__ vxx, real &__restrict__ vyx, real &__restrict__ vzx, real &__restrict__ vyy, real &__restrict__ vzy, real &__restrict__ vzz, grad_prec *__restrict__ degx, grad_prec *__restrict__ degy, grad_prec *__restrict__ degz, int i, const int(*__restrict__ iafix)[3], const real(*__restrict__ afix)[3], const real *__restrict__ x, const real *__restrict__ y, const real *__restrict__ z) |
|
template<class Ver > |
__device__ void | dk_geom_torsion (real &__restrict__ e, real &__restrict__ vxx, real &__restrict__ vyx, real &__restrict__ vzx, real &__restrict__ vyy, real &__restrict__ vzy, real &__restrict__ vzz, grad_prec *__restrict__ degx, grad_prec *__restrict__ degy, grad_prec *__restrict__ degz, int i, const int(*__restrict__ itfix)[4], const real(*__restrict__ tfix)[3], const real *__restrict__ x, const real *__restrict__ y, const real *__restrict__ z) |
|
template<class Ver > |
__device__ void | dk_geom_position (real &__restrict__ e, real &__restrict__ vxx, real &__restrict__ vyx, real &__restrict__ vzx, real &__restrict__ vyy, real &__restrict__ vzy, real &__restrict__ vzz, grad_prec *__restrict__ degx, grad_prec *__restrict__ degy, grad_prec *__restrict__ degz, int i, const int *__restrict__ ipfix, const int(*__restrict__ kpfix)[3], const real *__restrict__ xpfix, const real *__restrict__ ypfix, const real *__restrict__ zpfix, const real(*__restrict__ pfix)[2], const real *__restrict__ x, const real *__restrict__ y, const real *__restrict__ z, BoxShape box_shape, real3 lvec1, real3 lvec2, real3 lvec3, real3 recipa, real3 recipb, real3 recipc) |
|
__device__ real3 | ftoc_triclinic (real3 f, real3 l1, real3 l2, real3 l3) |
| Fractional to cartesian: triclinic. More...
|
|
__device__ real3 | ftoc_monoclinic (real3 f, real3 l1, real3 l2, real3 l3) |
| Fractional to cartesian: monoclinic. More...
|
|
__device__ real3 | ftoc_orthogonal (real3 f, real3 l1, real3 l2, real3 l3) |
| Fractional to cartesian: orthogonal. More...
|
|
__device__ real3 | ftoc_general (real3 f, real3 l1, real3 l2, real3 l3) |
| Fractional to cartesian. More...
|
|
__device__ real3 | imageFrac (real3 f) |
| PBC image of the fractional coordinates. More...
|
|
__device__ real3 | ctof_triclinic (real xr, real yr, real zr, real3 ra, real3 rb, real3 rc) |
| Cartesian to fractional: triclinic. More...
|
|
__device__ real3 | ctof_monoclinic (real xr, real yr, real zr, real3 ra, real3 rb, real3 rc) |
| Cartesian to fractional: monoclinic. More...
|
|
__device__ real3 | ctof_orthogonal (real xr, real yr, real zr, real3 ra, real3 rb, real3 rc) |
| Cartesian to fractional: orthogonal. More...
|
|
__device__ real3 | imagectof_general (real xr, real yr, real zr, real3 ra, real3 rb, real3 rc) |
| Cartesian to fractional. More...
|
|
template<class Ver > |
__device__ void | dk_improp (real &__restrict__ e, real &__restrict__ vxx, real &__restrict__ vyx, real &__restrict__ vzx, real &__restrict__ vyy, real &__restrict__ vzy, real &__restrict__ vzz, grad_prec *__restrict__ deidx, grad_prec *__restrict__ deidy, grad_prec *__restrict__ deidz, real idihunit, int i, const int(*__restrict__ iiprop)[4], const real *__restrict__ kprop, const real *__restrict__ vprop, const real *__restrict__ x, const real *__restrict__ y, const real *__restrict__ z) |
|
template<class Ver > |
__device__ void | dk_imptor (real &__restrict__ e, real &__restrict__ vxx, real &__restrict__ vyx, real &__restrict__ vzx, real &__restrict__ vyy, real &__restrict__ vzy, real &__restrict__ vzz, grad_prec *__restrict__ deitx, grad_prec *__restrict__ deity, grad_prec *__restrict__ deitz, real itorunit, int i, const int(*__restrict__ iitors)[4], const real(*__restrict__ itors1)[4], const real(*__restrict__ itors2)[4], const real(*__restrict__ itors3)[4], const real *__restrict__ x, const real *__restrict__ y, const real *__restrict__ z) |
|
template<class K , class... Ts> |
void | launch_k3s (cudaStream_t st, size_t sh, int bs, int np, K k, Ts &&... a) |
|
template<class K , class... Ts> |
void | launch_k3b (cudaStream_t st, size_t sh, int bs, int np, K k, Ts &&... a) |
|
template<class K , class... Ts> |
void | launch_k2s (cudaStream_t st, int bs, int np, K k, Ts &&... a) |
|
template<class K , class... Ts> |
void | launch_k2b (cudaStream_t st, int bs, int np, K k, Ts &&... a) |
|
template<class K , class... Ts> |
void | launch_k1s (cudaStream_t st, int np, K k, Ts &&... a) |
|
template<class K , class... Ts> |
void | launch_k1b (cudaStream_t st, int np, K k, Ts &&... a) |
|
template<class Ver > |
__device__ void | dk_opbend (real &__restrict__ e, real &__restrict__ vxx, real &__restrict__ vyx, real &__restrict__ vzx, real &__restrict__ vyy, real &__restrict__ vzy, real &__restrict__ vzz, grad_prec *__restrict__ deopbx, grad_prec *__restrict__ deopby, grad_prec *__restrict__ deopbz, OPBend opbtyp, real opbunit, int iopbend, const int *__restrict__ iopb, const real *__restrict__ opbk, const int(*__restrict__ iang)[4], real copb, real qopb, real popb, real sopb, const real *__restrict__ x, const real *__restrict__ y, const real *__restrict__ z) |
|
template<bool DO_G> |
__device__ void | damp_expl (ExpolScr scrtyp, real &__restrict__ s2, real &__restrict__ ds2, real r, real sizik, real alphai, real alphak) |
|
__device__ void | pair_alterpol (ExpolScr scrtyp, real r, real pscale, real cut, real off, real xr, real yr, real zr, real springi, real sizi, real alphai, real springk, real sizk, real alphak, real ks2i[3][3], real ks2k[3][3]) |
|
__device__ void | pair_dexpol (ExpolScr scrtyp, real r, real pscale, real cut, real off, real xr, real yr, real zr, real uix, real uiy, real uiz, real ukx, real uky, real ukz, real springi, real sizi, real alphai, real springk, real sizk, real alphak, const real f, real frc[3]) |
|
template<class Ver , class ETYP > |
__device__ void | pair_charge (real r, real xr, real yr, real zr, real cscale, real chgi, real chgk, real ebuffer, real f, real aewald, real cut, real off, real &__restrict__ grdx, real &__restrict__ grdy, real &__restrict__ grdz, int &__restrict__ ctl, real &__restrict__ etl, real &__restrict__ vtlxx, real &__restrict__ vtlxy, real &__restrict__ vtlxz, real &__restrict__ vtlyy, real &__restrict__ vtlyz, real &__restrict__ vtlzz) |
|
template<bool DO_G, class ETYP , int SCALE> |
__device__ void | pair_chg_v2 (real r, real invr, real cscale, real chgi, real chgk, real f, real aewald, real eccut, real ecoff, real &__restrict__ ec, real &__restrict__ dec) |
|
template<bool DO_G, class ETYP , int SCALE> |
__device__ void | pair_chg_v3 (real r, real cscale, real chgi, real chgk, real ebuffer, real f, real aewald, real eccut, real ecoff, real &__restrict__ ec, real &__restrict__ dec) |
|
template<bool DO_G> |
__device__ void | pair_chgtrn (real r, real cut, real off, real mscale, real f, real alphai, real chgi, real alphak, real chgk, real elambda, e_prec &__restrict__ e, e_prec &__restrict__ de) |
|
template<bool DO_G, class DTYP , int SCALE> |
__device__ void | pair_disp_obsolete (real r, real r2, real rr1, real dspscale, real aewald, real ci, real ai, real ck, real ak, real edcut, real edoff, real &__restrict__ e, real &__restrict__ de) |
|
template<bool DO_G, class DTYP , int SCALE, int SOFTCORE> |
__device__ void | pair_disp (real r, real r2, real rr1, real dspscale, real aewald, real ci, real ai, real ck, real ak, real vlambda, real edcut, real edoff, real &__restrict__ e, real &__restrict__ de) |
|
template<class ETYP > |
__device__ void | pair_dfield (real r2, real xr, real yr, real zr, real dscale, real pscale, real ci, real dix, real diy, real diz, real qixx, real qixy, real qixz, real qiyy, real qiyz, real qizz, real pdi, real pti, real ck, real dkx, real dky, real dkz, real qkxx, real qkxy, real qkxz, real qkyy, real qkyz, real qkzz, real pdk, real ptk, real aewald, real3 &__restrict__ fid, real3 &__restrict__ fip, real3 &__restrict__ fkd, real3 &__restrict__ fkp) |
|
template<class ETYP > |
__device__ void | pair_dfield_v2 (real r2, real xr, real yr, real zr, real dscale, real pscale, real aewald, real ci, real dix, real diy, real diz, real qixx, real qixy, real qixz, real qiyy, real qiyz, real qizz, real pdi, real pti, real ck, real dkx, real dky, real dkz, real qkxx, real qkxy, real qkxz, real qkyy, real qkyz, real qkzz, real pdk, real ptk, real &__restrict__ fidx, real &__restrict__ fidy, real &__restrict__ fidz, real &__restrict__ fipx, real &__restrict__ fipy, real &__restrict__ fipz, real &__restrict__ fkdx, real &__restrict__ fkdy, real &__restrict__ fkdz, real &__restrict__ fkpx, real &__restrict__ fkpy, real &__restrict__ fkpz) |
|
template<class ETYP > |
__device__ void | pair_ufield (real r2, real xr, real yr, real zr, real uscale, real uindi0, real uindi1, real uindi2, real uinpi0, real uinpi1, real uinpi2, real pdi, real pti, real uindk0, real uindk1, real uindk2, real uinpk0, real uinpk1, real uinpk2, real pdk, real ptk, real aewald, real3 &__restrict__ fid, real3 &__restrict__ fip, real3 &__restrict__ fkd, real3 &__restrict__ fkp) |
|
template<class ETYP > |
__device__ void | pair_ufield_v2 (real r2, real xr, real yr, real zr, real uscale, real aewald, real uindi0, real uindi1, real uindi2, real uinpi0, real uinpi1, real uinpi2, real pdi, real pti, real uindk0, real uindk1, real uindk2, real uinpk0, real uinpk1, real uinpk2, real pdk, real ptk, real &__restrict__ fidx, real &__restrict__ fidy, real &__restrict__ fidz, real &__restrict__ fipx, real &__restrict__ fipy, real &__restrict__ fipz, real &__restrict__ fkdx, real &__restrict__ fkdy, real &__restrict__ fkdz, real &__restrict__ fkpx, real &__restrict__ fkpy, real &__restrict__ fkpz) |
|
template<class ETYP > |
__device__ void | pair_dfield_chgpen (real r2, real xr, real yr, real zr, real dscale, real ci, real dix, real diy, real diz, real corei, real vali, real alphai, real qixx, real qixy, real qixz, real qiyy, real qiyz, real qizz, real ck, real dkx, real dky, real dkz, real corek, real valk, real alphak, real qkxx, real qkxy, real qkxz, real qkyy, real qkyz, real qkzz, real aewald, real &__restrict__ fidx, real &__restrict__ fidy, real &__restrict__ fidz, real &__restrict__ fkdx, real &__restrict__ fkdy, real &__restrict__ fkdz) |
|
template<class ETYP > |
__device__ void | pair_ufield_chgpen (real r2, real xr, real yr, real zr, real wscale, real uindi0, real uindi1, real uindi2, real corei, real vali, real alphai, real uindk0, real uindk1, real uindk2, real corek, real valk, real alphak, real aewald, real &__restrict__ fidx, real &__restrict__ fidy, real &__restrict__ fidz, real &__restrict__ fkdx, real &__restrict__ fkdy, real &__restrict__ fkdz) |
|
template<bool DO_G> |
__device__ void | pair_hal (real rik, real rv, real eps, real vscalek, real vlambda, real ghal, real dhal, real scexp, real scalpha, real &__restrict__ e, real &__restrict__ de) |
|
template<bool DO_G, int SCALE> |
__device__ void | pair_hal_v2 (real r, real vscale, real rv, real eps, real evcut, real evoff, real vlambda, real ghal, real dhal, real scexp, real scalpha, real &__restrict__ e, real &__restrict__ de) |
|
template<bool DO_G, bool SOFTCORE> |
__device__ void | pair_lj_v0 (real r, real invr, real vlambda, real rad, real eps, real &__restrict__ ev, real &__restrict__ dev) |
|
template<bool DO_G, bool SOFTCORE> |
__device__ void | pair_lj_v1 (real rik, real vlambda, real rv, real eps, real vscalek, real &__restrict__ e, real &__restrict__ de) |
|
template<bool DO_G, bool SOFTCORE, class RADRULE , class EPSRULE , int SCALE> |
__device__ void | pair_lj_v2 (real r, real invr, real vlambda, real vscale, real radi, real epsi, real radk, real epsk, real evcut, real evoff, real &__restrict__ ev, real &__restrict__ dev) |
|
template<bool DO_G, bool SOFTCORE, int SCALE> |
__device__ void | pair_lj_v3 (real r, real invr, real vlambda, real vscale, real rad, real eps, real evcut, real evoff, real &__restrict__ ev, real &__restrict__ dev) |
|
__device__ void | zero (PairMPoleGrad &pgrad) |
|
template<bool do_e, bool do_g, class ETYP > |
__device__ void | pair_mpole (real r2, real xr, real yr, real zr, real mscale, real ci, real dix, real diy, real diz, real qixx, real qixy, real qixz, real qiyy, real qiyz, real qizz, real ck, real dkx, real dky, real dkz, real qkxx, real qkxy, real qkxz, real qkyy, real qkyz, real qkzz, real f, real aewald, real &__restrict__ e, PairMPoleGrad &__restrict__ pgrad) |
| OpenACC pairwise multipole electrostatic energy. More...
|
|
template<class Ver , class ETYP > |
__device__ void | pair_mpole_v2 (real r2, real xr, real yr, real zr, real mscale, real ci, real dix, real diy, real diz, real qixx, real qixy, real qixz, real qiyy, real qiyz, real qizz, real ck, real dkx, real dky, real dkz, real qkxx, real qkxy, real qkxz, real qkyy, real qkyz, real qkzz, real f, real aewald, real &__restrict__ frcxi, real &__restrict__ frcyi, real &__restrict__ frczi, real &__restrict__ frcxk, real &__restrict__ frcyk, real &__restrict__ frczk, real &__restrict__ trqxi, real &__restrict__ trqyi, real &__restrict__ trqzi, real &__restrict__ trqxk, real &__restrict__ trqyk, real &__restrict__ trqzk, real &__restrict__ e, real &__restrict__ vxx, real &__restrict__ vxy, real &__restrict__ vxz, real &__restrict__ vyy, real &__restrict__ vyz, real &__restrict__ vzz) |
|
template<bool do_e, bool do_g, class ETYP , int CFLX> |
__device__ void | pair_mpole_chgpen (real r2, real xr, real yr, real zr, real mscale, real ci, real dix, real diy, real diz, real corei, real vali, real alphai, real qixx, real qixy, real qixz, real qiyy, real qiyz, real qizz, real ck, real dkx, real dky, real dkz, real corek, real valk, real alphak, real qkxx, real qkxy, real qkxz, real qkyy, real qkyz, real qkzz, real f, real aewald, real &__restrict__ e, real &__restrict__ poti, real &__restrict__ potk, PairMPoleGrad &__restrict__ pgrad) |
|
__device__ void | zero (PairPolarGrad &pgrad) |
|
template<bool do_e, bool do_g, class ETYP > |
__device__ void | pair_polar (real r2, real xr, real yr, real zr, real dscale, real pscale, real uscale, real ci, real dix, real diy, real diz, real qixx, real qixy, real qixz, real qiyy, real qiyz, real qizz, real uix, real uiy, real uiz, real uixp, real uiyp, real uizp, real pdi, real pti, real ck, real dkx, real dky, real dkz, real qkxx, real qkxy, real qkxz, real qkyy, real qkyz, real qkzz, real ukx, real uky, real ukz, real ukxp, real ukyp, real ukzp, real pdk, real ptk, real f, real aewald, real &__restrict__ e, PairPolarGrad &__restrict__ pgrad) |
|
template<class Ver , class ETYP > |
__device__ void | pair_polar_v2 (real r2, real xr, real yr, real zr, real dscale, real pscale, real uscale, real ci, real dix, real diy, real diz, real qixx, real qixy, real qixz, real qiyy, real qiyz, real qizz, real uix, real uiy, real uiz, real uixp, real uiyp, real uizp, real pdi, real pti, real ck, real dkx, real dky, real dkz, real qkxx, real qkxy, real qkxz, real qkyy, real qkyz, real qkzz, real ukx, real uky, real ukz, real ukxp, real ukyp, real ukzp, real pdk, real ptk, real f, real aewald, real &__restrict__ frcxi, real &__restrict__ frcyi, real &__restrict__ frczi, real &__restrict__ frcxk, real &__restrict__ frcyk, real &__restrict__ frczk, real &__restrict__ uf0i, real &__restrict__ uf1i, real &__restrict__ uf2i, real &__restrict__ uf0k, real &__restrict__ uf1k, real &__restrict__ uf2k, real &__restrict__ duf0i, real &__restrict__ duf1i, real &__restrict__ duf2i, real &__restrict__ duf3i, real &__restrict__ duf4i, real &__restrict__ duf5i, real &__restrict__ duf0k, real &__restrict__ duf1k, real &__restrict__ duf2k, real &__restrict__ duf3k, real &__restrict__ duf4k, real &__restrict__ duf5k, real &__restrict__ e, real &__restrict__ vxx, real &__restrict__ vxy, real &__restrict__ vxz, real &__restrict__ vyy, real &__restrict__ vyz, real &__restrict__ vzz) |
|
template<bool do_e, bool do_g, class ETYP , int CFLX> |
__device__ void | pair_polar_chgpen (real r2, real xr, real yr, real zr, real dscale, real wscale, real ci, real dix, real diy, real diz, real corei, real vali, real alphai, real qixx, real qixy, real qixz, real qiyy, real qiyz, real qizz, real uix, real uiy, real uiz, real ck, real dkx, real dky, real dkz, real corek, real valk, real alphak, real qkxx, real qkxy, real qkxz, real qkyy, real qkyz, real qkzz, real ukx, real uky, real ukz, real f, real aewald, real &__restrict__ e, real &__restrict__ poti, real &__restrict__ potk, PairPolarGrad &__restrict__ pgrad) |
|
__device__ void | zero (PairRepelGrad &pgrad) |
|
template<bool do_g, int SOFTCORE> |
__device__ void | pair_repel (real r2, real rscale, real vlambda, real cut, real off, real xr, real yr, real zr, real sizi, real dmpi, real vali, real ci, real dix, real diy, real diz, real qixx, real qixy, real qixz, real qiyy, real qiyz, real qizz, real sizk, real dmpk, real valk, real ck, real dkx, real dky, real dkz, real qkxx, real qkxy, real qkxz, real qkyy, real qkyz, real qkzz, real &__restrict__ e, PairRepelGrad &__restrict__ pgrad) |
|
__device__ real | pair_vlambda (real vlam, Vdw vcouple, int imut, int kmut) |
|
template<bool DO_G> |
__device__ void | pair_chgtrn_aplus (real r, real cut, real off, real mscale, real f, real alphai, real chgi, real alphak, real chgk, real elambda, e_prec &__restrict__ e, e_prec &__restrict__ de) |
|
template<class ETYP > |
__device__ void | pair_dfield_aplus (real r2, real xr, real yr, real zr, real dscale, real ci, real dix, real diy, real diz, real pdi, real ddi, real qixx, real qixy, real qixz, real qiyy, real qiyz, real qizz, real ck, real dkx, real dky, real dkz, real pdk, real ddk, real qkxx, real qkxy, real qkxz, real qkyy, real qkyz, real qkzz, real aewald, real &__restrict__ fidx, real &__restrict__ fidy, real &__restrict__ fidz, real &__restrict__ fkdx, real &__restrict__ fkdy, real &__restrict__ fkdz) |
|
template<class ETYP > |
__device__ void | pair_dfield_aplus_v2 (real r2, real xr, real yr, real zr, real dscale, real ci, real dix, real diy, real diz, real pdi, real ddi, real qixx, real qixy, real qixz, real qiyy, real qiyz, real qizz, real ck, real dkx, real dky, real dkz, real pdk, real ddk, real qkxx, real qkxy, real qkxz, real qkyy, real qkyz, real qkzz, real aewald, real &__restrict__ fidx, real &__restrict__ fidy, real &__restrict__ fidz, real &__restrict__ fkdx, real &__restrict__ fkdy, real &__restrict__ fkdz) |
|
template<class ETYP > |
__device__ void | pair_ufield_aplus (real r2, real xr, real yr, real zr, real uscale, real uindi0, real uindi1, real uindi2, real pdi, real pti, real uindk0, real uindk1, real uindk2, real pdk, real ptk, real aewald, real &__restrict__ fidx, real &__restrict__ fidy, real &__restrict__ fidz, real &__restrict__ fkdx, real &__restrict__ fkdy, real &__restrict__ fkdz) |
|
template<class ETYP > |
__device__ void | pair_ufield_aplus_v2 (real r2, real xr, real yr, real zr, real uscale, real uindi0, real uindi1, real uindi2, real pdi, real pti, real uindk0, real uindk1, real uindk2, real pdk, real ptk, real aewald, real &__restrict__ fidx, real &__restrict__ fidy, real &__restrict__ fidz, real &__restrict__ fkdx, real &__restrict__ fkdy, real &__restrict__ fkdz) |
|
template<bool do_e, bool do_g, class ETYP , int CFLX> |
__device__ void | pair_mpole_chgpen_aplus (real r2, real xr, real yr, real zr, real mscale, real ci, real dix, real diy, real diz, real corei, real vali, real alphai, real qixx, real qixy, real qixz, real qiyy, real qiyz, real qizz, real ck, real dkx, real dky, real dkz, real corek, real valk, real alphak, real qkxx, real qkxy, real qkxz, real qkyy, real qkyz, real qkzz, real f, real aewald, real &__restrict__ e, real &__restrict__ poti, real &__restrict__ potk, PairMPoleGrad &__restrict__ pgrad) |
|
template<bool do_e, bool do_g, class ETYP , int CFLX> |
__device__ void | pair_polar_aplus (real r2, real xr, real yr, real zr, real dscale, real uscale, real ci, real dix, real diy, real diz, real pdi, real pti, real ddi, real qixx, real qixy, real qixz, real qiyy, real qiyz, real qizz, real uix, real uiy, real uiz, real ck, real dkx, real dky, real dkz, real pdk, real ptk, real ddk, real qkxx, real qkxy, real qkxz, real qkyy, real qkyz, real qkzz, real ukx, real uky, real ukz, real f, real aewald, real &__restrict__ e, real &__restrict__ poti, real &__restrict__ potk, PairPolarGrad &__restrict__ pgrad) |
|
template<class Ver , class ETYP , int CFLX> |
__device__ void | pair_polar_aplus_v2 (real r2, real xr, real yr, real zr, real dscale, real uscale, real ci, real dix, real diy, real diz, real qixx, real qixy, real qixz, real qiyy, real qiyz, real qizz, real uix, real uiy, real uiz, real pdi, real pti, real ddi, real ck, real dkx, real dky, real dkz, real qkxx, real qkxy, real qkxz, real qkyy, real qkyz, real qkzz, real ukx, real uky, real ukz, real pdk, real ptk, real ddk, real f, real aewald, real &__restrict__ frcxi, real &__restrict__ frcyi, real &__restrict__ frczi, real &__restrict__ frcxk, real &__restrict__ frcyk, real &__restrict__ frczk, real &__restrict__ uf0i, real &__restrict__ uf1i, real &__restrict__ uf2i, real &__restrict__ uf0k, real &__restrict__ uf1k, real &__restrict__ uf2k, real &__restrict__ duf0i, real &__restrict__ duf1i, real &__restrict__ duf2i, real &__restrict__ duf3i, real &__restrict__ duf4i, real &__restrict__ duf5i, real &__restrict__ duf0k, real &__restrict__ duf1k, real &__restrict__ duf2k, real &__restrict__ duf3k, real &__restrict__ duf4k, real &__restrict__ duf5k, real &__restrict__ e, real &__restrict__ vxx, real &__restrict__ vxy, real &__restrict__ vxz, real &__restrict__ vyy, real &__restrict__ vyz, real &__restrict__ vzz, real &__restrict__ poti, real &__restrict__ potk) |
|
template<class Ver > |
__device__ void | dk_pitors (real &__restrict__ e, real &__restrict__ vxx, real &__restrict__ vyx, real &__restrict__ vzx, real &__restrict__ vyy, real &__restrict__ vzy, real &__restrict__ vzz, grad_prec *__restrict__ deptx, grad_prec *__restrict__ depty, grad_prec *__restrict__ deptz, real ptorunit, int i, const int(*__restrict__ ipit)[6], const real *__restrict__ kpit, const real *__restrict__ x, const real *__restrict__ y, const real *__restrict__ z) |
|
template<class T , unsigned int B, class Op > |
__device__ void | warp_reduce (volatile T *sd, unsigned int t, Op op) |
|
template<class T , unsigned int HN, unsigned int B, class Op > |
__device__ void | warp_reduce2 (volatile T(*sd)[B], unsigned int t, Op op) |
|
template<class T , unsigned int B, class Op > |
__global__ void | reduce (T *g_odata, const T *g_idata, size_t n, Op op=Op()) |
|
template<class T , unsigned int B, unsigned int HN, size_t N, class Op > |
__global__ void | reduce2 (T(*g_odata)[HN], const T(*g_idata)[N], size_t n, Op op=Op()) |
|
__device__ void | chkpoleAtomI (int i, real(*__restrict__ pole)[MPL_TOTAL], LocalFrame *zaxis, const real *__restrict__ x, const real *__restrict__ y, const real *__restrict__ z) |
|
__device__ void | rotpoleNorm (real *a) |
|
__device__ void | rotpoleAddBy (real *__restrict__ a, const real *__restrict__ b) |
|
__device__ void | rotpoleAddBy2 (real *__restrict__ a, const real *__restrict__ b, const real *__restrict__ c) |
|
__device__ void | rotsite (int isite, const real(*__restrict__ a)[3], real(*__restrict__ rpole)[10], const real(*__restrict__ pole)[10]) |
|
__device__ void | rotpoleAtomI (int i, real(*__restrict__ rpole)[MPL_TOTAL], const real(*__restrict__ pole)[MPL_TOTAL], const LocalFrame *__restrict__ zaxis, const real *__restrict__ x, const real *__restrict__ y, const real *__restrict__ z) |
|
template<class HTYPE > |
__device__ void | dk_settle1 (time_prec dt, int iw, const pos_prec *__restrict__ xold, const pos_prec *__restrict__ yold, const pos_prec *__restrict__ zold, pos_prec *__restrict__ xnew, pos_prec *__restrict__ ynew, pos_prec *__restrict__ znew, vel_prec *__restrict__ vx, vel_prec *__restrict__ vy, vel_prec *__restrict__ vz, const double *__restrict__ mass, const int(*__restrict__ iratwt)[3], const pos_prec(*__restrict__ kratwt)[3]) |
|
template<bool DO_V> |
__device__ void | dk_settle2 (time_prec dt, int iw, vel_prec *__restrict__ vx, vel_prec *__restrict__ vy, vel_prec *__restrict__ vz, const pos_prec *__restrict__ xpos, const pos_prec *__restrict__ ypos, const pos_prec *__restrict__ zpos, const double *__restrict__ mass, const int(*__restrict__ iratwt)[3], double &__restrict__ vxx, double &__restrict__ vyx, double &__restrict__ vzx, double &__restrict__ vyy, double &__restrict__ vzy, double &__restrict__ vzz) |
|
template<class Ver > |
__device__ void | dk_strbnd (real &__restrict__ e, real &__restrict__ vxx, real &__restrict__ vyx, real &__restrict__ vzx, real &__restrict__ vyy, real &__restrict__ vzy, real &__restrict__ vzz, grad_prec *__restrict__ debax, grad_prec *__restrict__ debay, grad_prec *__restrict__ debaz, real stbnunit, int istrbnd, const int(*__restrict__ isb)[3], const real(*__restrict__ sbk)[2], const real *__restrict__ bl, const int(*__restrict__ iang)[4], const real *__restrict__ anat, const real *__restrict__ x, const real *__restrict__ y, const real *__restrict__ z) |
|
template<class Ver > |
__device__ void | dk_strtor (real &__restrict__ e, real &__restrict__ vxx, real &__restrict__ vyx, real &__restrict__ vzx, real &__restrict__ vyy, real &__restrict__ vzy, real &__restrict__ vzz, grad_prec *__restrict__ debtx, grad_prec *__restrict__ debty, grad_prec *__restrict__ debtz, real storunit, int istrtor, const int(*__restrict__ ist)[4], const real(*__restrict__ kst)[9], const real *__restrict__ bl, const int(*__restrict__ itors)[4], const real(*__restrict__ tors1)[4], const real(*__restrict__ tors2)[4], const real(*__restrict__ tors3)[4], const real *__restrict__ x, const real *__restrict__ y, const real *__restrict__ z) |
|
__device__ real | torqueDot (const real *__restrict__ a, const real *__restrict__ b) |
|
__device__ void | torqueCross (real *__restrict__ ans, const real *__restrict__ u, const real *__restrict__ v) |
|
__device__ void | torqueNormal (real *__restrict__ a, real _1_na) |
|
template<class Ver > |
__device__ void | dk_tors (real &__restrict__ e, real &__restrict__ vxx, real &__restrict__ vyx, real &__restrict__ vzx, real &__restrict__ vyy, real &__restrict__ vzy, real &__restrict__ vzz, grad_prec *__restrict__ detx, grad_prec *__restrict__ dety, grad_prec *__restrict__ detz, real torsunit, int i, const int(*__restrict__ itors)[4], const real(*__restrict__ tors1)[4], const real(*__restrict__ tors2)[4], const real(*__restrict__ tors3)[4], const real(*__restrict__ tors4)[4], const real(*__restrict__ tors5)[4], const real(*__restrict__ tors6)[4], const real *__restrict__ x, const real *__restrict__ y, const real *__restrict__ z) |
|
template<class Ver > |
__device__ void | dk_tortor (real &__restrict__ e, real &__restrict__ vxx, real &__restrict__ vyx, real &__restrict__ vzx, real &__restrict__ vyy, real &__restrict__ vzy, real &__restrict__ vzz, grad_prec *__restrict__ dettx, grad_prec *__restrict__ detty, grad_prec *__restrict__ dettz, real ttorunit, int itortor, const int(*__restrict__ itt)[3], const int(*__restrict__ ibitor)[5], const int *__restrict__ chkttor_ia_, const int *__restrict__ tnx, const int *__restrict__ tny, const real(*__restrict__ ttx)[ktrtor::maxtgrd], const real(*__restrict__ tty)[ktrtor::maxtgrd], const real(*__restrict__ tbf)[ktrtor::maxtgrd2], const real(*__restrict__ tbx)[ktrtor::maxtgrd2], const real(*__restrict__ tby)[ktrtor::maxtgrd2], const real(*__restrict__ tbxy)[ktrtor::maxtgrd2], const real *__restrict__ x, const real *__restrict__ y, const real *__restrict__ z) |
|
__device__ int | xy_to_tri (int x, int y) |
|
__device__ void | tri_to_xy (int f, int &x, int &y) |
|
template<class Ver > |
__device__ void | dk_urey (real &__restrict__ e, real &__restrict__ vxx, real &__restrict__ vyx, real &__restrict__ vzx, real &__restrict__ vyy, real &__restrict__ vzy, real &__restrict__ vzz, grad_prec *__restrict__ deubx, grad_prec *__restrict__ deuby, grad_prec *__restrict__ deubz, real ureyunit, int i, const int(*__restrict__ iury)[3], const real *__restrict__ uk, const real *__restrict__ ul, real cury, real qury, const real *__restrict__ x, const real *__restrict__ y, const real *__restrict__ z) |
|
template<class T > |
void | atomic_add (T value, T *buffer, size_t offset=0) |
|
template<class T , class = typename std::enable_if<std::is_same<T, float>::value || std::is_same<T, double>::value>::type> |
void | atomic_add (T value, fixed *buffer, size_t offset=0) |
|
template<class T > |
void | atomic_add (T vxx, T vyx, T vzx, T vyy, T vzy, T vzz, T(*buffer)[8], size_t offset=0) |
| Adds virial {xx,yx,zx,yy,zy,zz} to buffer[offset][0 to 7] . More...
|
|
template<class T , class = typename std::enable_if<std::is_same<T, float>::value || std::is_same<T, double>::value>::type> |
void | atomic_add (T vxx, T vyx, T vzx, T vyy, T vzy, T vzz, fixed(*buffer)[8], size_t offset=0) |
|
template<class G , class T > |
G | floatTo (T val) |
| Converts val of floating-point to type G . More...
|
|
template<class T > |
T | fixedTo (fixed val) |
| Converts val of fixed-point to floating-point. More...
|
|
template<class T > |
T | toFloatGrad (fixed g) |
| Converts a fixed-point value g to floating-point value. More...
|
|
template<class T > |
T | toFloatGrad (double g) |
| Converts a double-precision value g to floating-point value. More...
|
|
template<class T > |
T | toFloatGrad (float g) |
| Converts a single-precision value g to floating-point value. More...
|
|
template<class T , class U > |
constexpr bool | eq () |
| Used as eq<T1,T2>() for two type identifiers. More...
|
|
int2 | make_int2 (int x, int y) |
|
int3 | make_int3 (int x, int y, int z) |
|
int4 | make_int4 (int x, int y, int z, int w) |
|
float2 | make_float2 (float x, float y) |
|
float3 | make_float3 (float x, float y, float z) |
|
float4 | make_float4 (float x, float y, float z, float w) |
|
double2 | make_double2 (double x, double y) |
|
double3 | make_double3 (double x, double y, double z) |
|
double4 | make_double4 (double x, double y, double z, double w) |
|
template<class T > |
__device__ void | atomic_add (T value, T *buffer, size_t offset=0) |
|
template<class T , class = typename std::enable_if<std::is_same<T, float>::value || std::is_same<T, double>::value>::type> |
__device__ void | atomic_add (T value, fixed *buffer, size_t offset=0) |
| Adds value to buffer[offset] via fixed-point arithmetic. More...
|
|
template<class T > |
__device__ void | atomic_add (T vxx, T vyx, T vzx, T vyy, T vzy, T vzz, T(*buffer)[8], size_t offset=0) |
| Adds virial {xx,yx,zx,yy,zy,zz} to buffer[offset][0 to 7] . More...
|
|
template<class T , class = typename std::enable_if<std::is_same<T, float>::value || std::is_same<T, double>::value>::type> |
__device__ void | atomic_add (T vxx, T vyx, T vzx, T vyy, T vzy, T vzz, fixed(*buffer)[8], size_t offset=0) |
|
template<class G , class T > |
__device__ G | floatTo (T val) |
| Converts val of floating-point to type G . More...
|
|
template<class T > |
__device__ T | fixedTo (fixed val) |
| Converts val of fixed-point to floating-point. More...
|
|
template<class T > |
__device__ T | toFloatGrad (fixed g) |
| Converts a fixed-point value g to floating-point value. More...
|
|
template<class T > |
__device__ T | toFloatGrad (double g) |
| Converts a double-precision value g to floating-point value. More...
|
|
template<class T > |
__device__ T | toFloatGrad (float g) |
| Converts a single-precision value g to floating-point value. More...
|
|
template<class T , class U > |
__device__ __host__ constexpr bool | eq () |
| Used as eq<T1,T2>() for two type identifiers. More...
|
|
void | nextarg (size_t len, char *str, bool &exist) |
|
template<size_t Len> |
void | nextarg (char(&str)[Len], bool &exist) |
|
template<class T1 , class T2 > |
void | getKV (std::string k, T1 &v, T2 vIfKNotFound) |
|
template<class T > |
void | getKV (std::string k, std::vector< T > &v) |
|
std::string | cxxCompilerName () |
| Returns the name of the C++ compiler. More...
|
|
std::string | accCompilerName () |
| Returns the name of the OpenACC compiler. More...
|
|
std::string | cudaCompilerName () |
| Returns the name of the CUDA compiler. More...
|
|
void | cudalibData (RcOp) |
| Sets up the CUDA variables including but not limited to CUDA streams, CUDA library handles, CUDA memory buffers, and integer units for the OpenACC queues. More...
|
|
void | waitFor (int queue) |
| Similar to OpenACC wait and CUDA stream synchronize. More...
|
|
void | deviceMemoryCopyinBytesAsync (void *dst, const void *src, size_t nbytes, int queue) |
| Similar to OpenACC async copyin, copies data from host to device. More...
|
|
void | deviceMemoryCopyoutBytesAsync (void *dst, const void *src, size_t nbytes, int queue) |
| Similar to OpenACC async copyout, copies data from device to host. More...
|
|
void | deviceMemoryCopyBytesAsync (void *dst, const void *src, size_t nbytes, int queue) |
| Copies data between two pointers on device. More...
|
|
void | deviceMemoryZeroBytesAsync (void *dst, size_t nbytes, int queue) |
| Writes zero bytes on device. More...
|
|
void | deviceMemoryDeallocate (void *ptr) |
| Deallocates device pointer. More...
|
|
void | deviceMemoryAllocateBytes (void **pptr, size_t nbytes) |
| Allocates device pointer. More...
|
|
template<class T > |
void | deviceMemoryCheckType () |
| Sanity check. More...
|
|
template<class DT , class ST > |
void | deviceMemoryCopyin1dArray (DT *dst, const ST *src, size_t nelem, int q) |
| Copies data to 1D array, host to device. More...
|
|
template<class DT , class ST > |
void | deviceMemoryCopyout1dArray (DT *dst, const ST *src, size_t nelem, int q) |
| Copies data to 1D array, device to host. More...
|
|
template<class T > |
std::string | translateErrorCode (T errcode) |
| Translates the error code to text. More...
|
|
void | printError () |
| Writes the current coordinates to a disk file prior to aborting on a serious error. More...
|
|
void | printBacktrace (std::FILE *out=stderr) |
| Prints the call stack to a FILE pointer. More...
|
|
std::string | exec (const std::string &cmd) |
| Executes a command in shell and returns the output in a string. More...
|
|
void | throwExceptionMissingFunction (const char *functionName, const char *file, int lineNum) |
|
std::string | gpuCudaRuntimeVersion () |
|
std::string | gpuCudaDriverVersion () |
|
std::string | gpuThrustVersion () |
|
std::vector< DeviceAttribute > & | gpuDeviceAttributes () |
|
void | gpuData (RcOp) |
| Sets up the GPU card. More...
|
|
int | gpuGridSize (int nthreadsPerBlock) |
|
int | gpuMaxNParallel (int idev) |
|
template<class T > |
const T & | formatForward (const T &t) |
|
const char * | formatForward (const std::string &s) |
|
template<class F , class... Ts> |
void | print (std::FILE *out, const F &f, Ts &&... args) |
| Formatted output. More...
|
|
template<class F > |
void | print (std::FILE *out, const F &f) |
| Formatted output. More...
|
|
template<class F , class... Ts> |
std::string | format (const F &f, Ts &&... args) |
| Writes the formatted output to an std::string object. More...
|
|
std::string | operator* (size_t k, std::string str) |
| Duplicates then concatenates multiple copies of string. More...
|
|
std::string | operator* (std::string str, size_t k) |
| Duplicates then concatenate multiple copies of string. More...
|
|
std::string | operator""_s (const char *s, size_t len) |
| Uses _s suffix to convert a const char* to std::string . More...
|
|
template<class Arg , class Invalid > |
void | ioReadStream (Arg &arg, std::string prompt, Arg auto_fill, Invalid &&invalid, std::istream &istream=std::cin) |
| Tests the validity of arg . If invalid, read ONE value from an std::istream object. arg will not change until the reading successfully exits. More...
|
|
template<class T > |
void | ioRewindStream (T &stream) |
| Rewind a stream object. More...
|
|
void | platformData (RcOp) |
|
template<class E > |
constexpr std::enable_if< EnableEnumBitMask< E >::value, E >::type | operator| (E lhs, E rhs) |
|
template<class E > |
constexpr bool | operator& (E lhs, E rhs) |
|
void | deviceData (RcOp) |
| Set up and clean up device environment. More...
|
|
|
void | bsplineFill (PMEUnit, int level) |
|
void | gridPchg (PMEUnit, real *pchg) |
|
void | gridDisp (PMEUnit, real *csix) |
|
void | gridMpole (PMEUnit, real(*fmp)[10]) |
|
void | gridUind (PMEUnit, real(*find)[3], real(*finp)[3]) |
|
void | pmeConv (PMEUnit) |
|
void | pmeConv (PMEUnit, VirialBuffer v) |
|
void | pmeConv (PMEUnit, EnergyBuffer e) |
|
void | pmeConv (PMEUnit, EnergyBuffer e, VirialBuffer v) |
|
void | fphiMpole (PMEUnit) |
|
void | fphiUind (PMEUnit, real(*fdip_phi1)[10], real(*fdip_phi2)[10], real(*fdip_sum_phi)[20]) |
|
void | fphiUind2 (PMEUnit, real(*fdip_phi1)[10], real(*fdip_phi2)[10]) |
|
void | rpoleToCmp () |
|
void | cmpToFmp (PMEUnit, const real(*cmp)[10], real(*fmp)[10]) |
|
void | cuindToFuind (PMEUnit, const real(*cind)[3], const real(*cinp)[3], real(*fuind)[3], real(*fuinp)[3]) |
|
void | fphiToCphi (PMEUnit, const real(*fphi)[20], real(*cphi)[10]) |
|
|
void | pmeStreamStartRecord (bool usePmeStream) |
|
void | pmeStreamStartWait (bool usePmeStream) |
|
void | pmeStreamFinishRecord (bool usePmeStream) |
|
void | pmeStreamFinishWait (bool usePmeStream) |
|
|
void | empoleData (RcOp) |
|
void | empole (int vers) |
|
void | empoleEwaldRecip (int vers) |
|
void | torque (int vers, grad_prec *dx, grad_prec *dy, grad_prec *dz) |
|
void | mpoleInit (int vers) |
|
|
void | epolarData (RcOp) |
|
void | epolar (int vers) |
|
void | epolarEwaldRecipSelf (int vers) |
|
void | epolar0DotProd (const real(*uind)[3], const real(*udirp)[3]) |
|
|
void | dfield (real(*field)[3], real(*fieldp)[3]) |
|
void | dfieldNonEwald (real(*field)[3], real(*fieldp)[3]) |
|
void | dfieldEwald (real(*field)[3], real(*fieldp)[3]) |
|
void | dfieldEwaldRecipSelfP1 (real(*field)[3]) |
|
void | ufield (const real(*uind)[3], const real(*uinp)[3], real(*field)[3], real(*fieldp)[3]) |
|
void | ufieldNonEwald (const real(*uind)[3], const real(*uinp)[3], real(*field)[3], real(*fieldp)[3]) |
|
void | ufieldEwald (const real(*uind)[3], const real(*uinp)[3], real(*field)[3], real(*fieldp)[3]) |
|
void | diagPrecond (const real(*rsd)[3], const real(*rsdp)[3], real(*zrsd)[3], real(*zrsdp)[3]) |
|
void | sparsePrecondBuild () |
|
void | sparsePrecondApply (const real(*rsd)[3], const real(*rsdp)[3], real(*zrsd)[3], real(*zrsdp)[3]) |
|
void | ulspredSave (const real(*uind)[3], const real(*uinp)[3]) |
|
void | ulspredSum (real(*uind)[3], real(*uinp)[3]) |
|
void | inducePrint (const real(*ud)[3]) |
|
void | induce (real(*uind)[3], real(*uinp)[3]) |
|
|
void | cfluxData (RcOp) |
|
void | alterchg () |
|
void | cfluxZeroPot () |
|
void | dcflux (int vers, grad_prec *gx, grad_prec *gy, grad_prec *gz, VirialBuffer vir) |
|
|
bool | useDEwald () |
|
void | edispData (RcOp) |
|
void | edisp (int vers) |
|
|
void | dfieldChgpen (real(*field)[3]) |
|
void | ufieldChgpen (const real(*uind)[3], real(*field)[3]) |
|
void | ufieldChgpenEwaldRecipSelf (const real(*uind)[3], real(*field)[3]) |
|
void | diagPrecond2 (const real(*rsd)[3], real(*zrsd)[3]) |
|
void | sparsePrecondBuild2 () |
|
void | sparsePrecondApply2 (const real(*rsd)[3], real(*zrsd)[3]) |
|
void | induce2 (real(*uind)[3]) |
|
|
template<class T > |
__device__ void | fsinhc1 (T d, T &__restrict__ f1d) |
|
template<class T > |
__device__ void | fsinhc2 (T d, T &__restrict__ f1d, T &__restrict__ f2d) |
|
template<class T > |
__device__ void | fsinhc3 (T d, T &__restrict__ f1d, T &__restrict__ f2d, T &__restrict__ f3d) |
|
template<class T > |
__device__ void | fsinhc4 (T d, T &__restrict__ f1d, T &__restrict__ f2d, T &__restrict__ f3d, T &__restrict__ f4d) |
|
template<class T > |
__device__ void | fsinhc5 (T d, T &__restrict__ f1d, T &__restrict__ f2d, T &__restrict__ f3d, T &__restrict__ f4d, T &__restrict__ f5d) |
|
template<class T > |
__device__ void | fsinhc6 (T d, T &__restrict__ f1d, T &__restrict__ f2d, T &__restrict__ f3d, T &__restrict__ f4d, T &__restrict__ f5d, T &__restrict__ f6d) |
|
template<class T > |
__device__ void | fsinhc7 (T d, T &__restrict__ f1d, T &__restrict__ f2d, T &__restrict__ f3d, T &__restrict__ f4d, T &__restrict__ f5d, T &__restrict__ f6d, T &__restrict__ f7d) |
|
|
bool | useRattle () |
|
void | rattleData (RcOp) |
|
void | rattle (time_prec dt, const pos_prec *xold, const pos_prec *yold, const pos_prec *zold) |
|
void | rattle2 (time_prec dt, bool do_v) |
|
void | shake (time_prec dt, pos_prec *xnew, pos_prec *ynew, pos_prec *znew, const pos_prec *xold, const pos_prec *yold, const pos_prec *zold) |
|
void | hcKinetic () |
|
void | hcVirial () |
|
void | hcCenterOfMass (const pos_prec *atomx, const pos_prec *atomy, const pos_prec *atomz, pos_prec *molx, pos_prec *moly, pos_prec *molz) |
|
|
template<class Arg > |
int | ioReadString (Arg &arg, const char *str, size_t len) |
| Reads ONE value from a string and save to arg . arg will not change until the reading successfully exits. More...
|
|
int | ioReadString (std::string &arg, const char *str, size_t len) |
| Reads ONE value from a string and save to arg . arg will not change until the reading successfully exits. More...
|
|
template<class Arg , size_t Len> |
int | ioReadString (Arg &arg, const char(&src)[Len]) |
| Reads ONE value from a string and save to arg . arg will not change until the reading successfully exits. More...
|
|