ComputeBondedCUDAKernel Class Reference

#include <ComputeBondedCUDAKernel.h>

List of all members.

Classes

struct  BondedVirial

Public Types

enum  {
  energyIndex_BOND = 0, energyIndex_ANGLE, energyIndex_DIHEDRAL, energyIndex_IMPROPER,
  energyIndex_ELECT, energyIndex_LJ, energyIndex_ELECT_SLOW, energyIndex_CROSSTERM,
  normalVirialIndex_XX, normalVirialIndex_XY, normalVirialIndex_XZ, normalVirialIndex_YX,
  normalVirialIndex_YY, normalVirialIndex_YZ, normalVirialIndex_ZX, normalVirialIndex_ZY,
  normalVirialIndex_ZZ, nbondVirialIndex_XX, nbondVirialIndex_XY, nbondVirialIndex_XZ,
  nbondVirialIndex_YX, nbondVirialIndex_YY, nbondVirialIndex_YZ, nbondVirialIndex_ZX,
  nbondVirialIndex_ZY, nbondVirialIndex_ZZ, slowVirialIndex_XX, slowVirialIndex_XY,
  slowVirialIndex_XZ, slowVirialIndex_YX, slowVirialIndex_YY, slowVirialIndex_YZ,
  slowVirialIndex_ZX, slowVirialIndex_ZY, slowVirialIndex_ZZ, amdDiheVirialIndex_XX,
  amdDiheVirialIndex_XY, amdDiheVirialIndex_XZ, amdDiheVirialIndex_YX, amdDiheVirialIndex_YY,
  amdDiheVirialIndex_YZ, amdDiheVirialIndex_ZX, amdDiheVirialIndex_ZY, amdDiheVirialIndex_ZZ,
  energies_virials_SIZE
}

Public Member Functions

 ComputeBondedCUDAKernel (int deviceID, CudaNonbondedTables &cudaNonbondedTables)
 ~ComputeBondedCUDAKernel ()
void update (const int numBondsIn, const int numAnglesIn, const int numDihedralsIn, const int numImpropersIn, const int numModifiedExclusionsIn, const int numExclusionsIn, const int numCrosstermsIn, const char *h_tupleData, cudaStream_t stream)
void setupBondValues (int numBondValues, CudaBondValue *h_bondValues)
void setupAngleValues (int numAngleValues, CudaAngleValue *h_angleValues)
void setupDihedralValues (int numDihedralValues, CudaDihedralValue *h_dihedralValues)
void setupImproperValues (int numImproperValues, CudaDihedralValue *h_improperValues)
void setupCrosstermValues (int numCrosstermValues, CudaCrosstermValue *h_crosstermValues)
int getForceStride (const int atomStorageSize)
int getForceSize (const int atomStorageSize)
int getAllForceSize (const int atomStorageSize, const bool doSlow)
void bondedForce (const double scale14, const int atomStorageSize, const bool doEnergy, const bool doVirial, const bool doSlow, const float3 lata, const float3 latb, const float3 latc, const float cutoff2, const float r2_delta, const int r2_delta_expc, const float4 *h_xyzq, FORCE_TYPE *h_forces, double *h_energies, cudaStream_t stream)

Static Public Member Functions

static int warpAlign (const int n)

Detailed Description

Definition at line 46 of file ComputeBondedCUDAKernel.h.


Member Enumeration Documentation

anonymous enum
Enumerator:
energyIndex_BOND 
energyIndex_ANGLE 
energyIndex_DIHEDRAL 
energyIndex_IMPROPER 
energyIndex_ELECT 
energyIndex_LJ 
energyIndex_ELECT_SLOW 
energyIndex_CROSSTERM 
normalVirialIndex_XX 
normalVirialIndex_XY 
normalVirialIndex_XZ 
normalVirialIndex_YX 
normalVirialIndex_YY 
normalVirialIndex_YZ 
normalVirialIndex_ZX 
normalVirialIndex_ZY 
normalVirialIndex_ZZ 
nbondVirialIndex_XX 
nbondVirialIndex_XY 
nbondVirialIndex_XZ 
nbondVirialIndex_YX 
nbondVirialIndex_YY 
nbondVirialIndex_YZ 
nbondVirialIndex_ZX 
nbondVirialIndex_ZY 
nbondVirialIndex_ZZ 
slowVirialIndex_XX 
slowVirialIndex_XY 
slowVirialIndex_XZ 
slowVirialIndex_YX 
slowVirialIndex_YY 
slowVirialIndex_YZ 
slowVirialIndex_ZX 
slowVirialIndex_ZY 
slowVirialIndex_ZZ 
amdDiheVirialIndex_XX 
amdDiheVirialIndex_XY 
amdDiheVirialIndex_XZ 
amdDiheVirialIndex_YX 
amdDiheVirialIndex_YY 
amdDiheVirialIndex_YZ 
amdDiheVirialIndex_ZX 
amdDiheVirialIndex_ZY 
amdDiheVirialIndex_ZZ 
energies_virials_SIZE 

Definition at line 50 of file ComputeBondedCUDAKernel.h.


Constructor & Destructor Documentation

ComputeBondedCUDAKernel::ComputeBondedCUDAKernel ( int  deviceID,
CudaNonbondedTables cudaNonbondedTables 
)
ComputeBondedCUDAKernel::~ComputeBondedCUDAKernel (  ) 

Member Function Documentation

void ComputeBondedCUDAKernel::bondedForce ( const double  scale14,
const int  atomStorageSize,
const bool  doEnergy,
const bool  doVirial,
const bool  doSlow,
const float3  lata,
const float3  latb,
const float3  latc,
const float  cutoff2,
const float  r2_delta,
const int  r2_delta_expc,
const float4 *  h_xyzq,
FORCE_TYPE *  h_forces,
double *  h_energies,
cudaStream_t  stream 
)
int ComputeBondedCUDAKernel::getAllForceSize ( const int  atomStorageSize,
const bool  doSlow 
)
int ComputeBondedCUDAKernel::getForceSize ( const int  atomStorageSize  ) 
int ComputeBondedCUDAKernel::getForceStride ( const int  atomStorageSize  ) 
void ComputeBondedCUDAKernel::setupAngleValues ( int  numAngleValues,
CudaAngleValue h_angleValues 
)
void ComputeBondedCUDAKernel::setupBondValues ( int  numBondValues,
CudaBondValue h_bondValues 
)
void ComputeBondedCUDAKernel::setupCrosstermValues ( int  numCrosstermValues,
CudaCrosstermValue h_crosstermValues 
)
void ComputeBondedCUDAKernel::setupDihedralValues ( int  numDihedralValues,
CudaDihedralValue h_dihedralValues 
)
void ComputeBondedCUDAKernel::setupImproperValues ( int  numImproperValues,
CudaDihedralValue h_improperValues 
)
void ComputeBondedCUDAKernel::update ( const int  numBondsIn,
const int  numAnglesIn,
const int  numDihedralsIn,
const int  numImpropersIn,
const int  numModifiedExclusionsIn,
const int  numExclusionsIn,
const int  numCrosstermsIn,
const char *  h_tupleData,
cudaStream_t  stream 
)
static int ComputeBondedCUDAKernel::warpAlign ( const int  n  )  [inline, static]

Definition at line 145 of file ComputeBondedCUDAKernel.h.

References WARPSIZE.

00145 {return ((n + WARPSIZE - 1)/WARPSIZE)*WARPSIZE;} 


The documentation for this class was generated from the following file:

Generated on 6 Dec 2019 for NAMD by  doxygen 1.6.1