CudaComputeGBISKernel.h

Go to the documentation of this file.
00001 #ifndef CUDACOMPUTEGBISKERNEL_H
00002 #define CUDACOMPUTEGBISKERNEL_H
00003 #ifdef NAMD_CUDA
00004 
00005 class CudaComputeGBISKernel {
00006 private:
00007 
00008   int deviceID;
00009 
00010   float* intRad0;
00011   int intRad0Size;
00012 
00013   float* intRadS;
00014   int intRadSSize;
00015 
00016   float* psiSum;
00017   int psiSumSize;
00018 
00019   float* bornRad;
00020   int bornRadSize;
00021 
00022   float* dEdaSum;
00023   int dEdaSumSize;
00024 
00025   float* dHdrPrefix;
00026   int dHdrPrefixSize;
00027 
00028 public:
00029         CudaComputeGBISKernel(int deviceID);
00030         ~CudaComputeGBISKernel();
00031 
00032         void updateIntRad(const int atomStorageSize, float* intRad0H, float* intRadSH,
00033                 cudaStream_t stream);
00034 
00035   void updateBornRad(const int atomStorageSize, float* bornRadH, cudaStream_t stream);
00036 
00037   void update_dHdrPrefix(const int atomStorageSize, float* dHdrPrefixH, cudaStream_t stream);
00038 
00039         void GBISphase1(CudaTileListKernel& tlKernel, const int atomStorageSize,
00040                 const float3 lata, const float3 latb, const float3 latc, const float a_cut, float* h_psiSum,
00041         cudaStream_t stream);
00042 
00043   void GBISphase2(CudaTileListKernel& tlKernel, const int atomStorageSize,
00044     const bool doEnergy, const bool doSlow,
00045     const float3 lata, const float3 latb, const float3 latc,
00046     const float r_cut, const float scaling, const float kappa, const float smoothDist,
00047     const float epsilon_p, const float epsilon_s,
00048     float4* d_forces,
00049     float* h_dEdaSum, cudaStream_t stream);
00050 
00051   void GBISphase3(CudaTileListKernel& tlKernel, const int atomStorageSize,
00052     const float3 lata, const float3 latb, const float3 latc, const float a_cut,
00053     float4* d_forces,
00054     cudaStream_t stream);
00055 
00056 };
00057 
00058 #endif // NAMD_CUDA
00059 #endif //CUDACOMPUTEGBISKERNEL_H

Generated on Sat Sep 23 01:17:13 2017 for NAMD by  doxygen 1.4.7