NAMD
CudaGlobalMasterServerKernel.h
Go to the documentation of this file.
1 #ifndef CUDAGLOBALMASTERSERVERKERNEL_H
2 #define CUDAGLOBALMASTERSERVERKERNEL_H
3 
6 #include "Lattice.h"
7 
8 #if defined(NAMD_CUDA) && defined(NODEGROUP_FORCE_REGISTER)
9 
10 void copyAtomsToClientsCUDA(
11  bool copyPositions, bool copyMasses, bool copyCharges, bool copyTransforms,
12  bool copyVelocities, const double *d_pos_x, const double *d_pos_y,
13  const double *d_pos_z, const double *d_vel_x, const double *d_vel_y,
14  const double *d_vel_z, const char3 *d_transform, const float *d_mass,
15  const float *d_charge, const Lattice lat,
16  const CudaGlobalMasterServer::CopyListTuple *d_copyList,
17  size_t numCopyTuples, CudaGlobalMasterServer::ClientBuffer *d_clientBuffers,
18  size_t numClients, cudaStream_t stream);
19 
20 void copyAtomsToClientsCUDAMGPU(
21  bool copyPositions, bool copyMasses, bool copyCharges, bool copyTransforms,
22  bool copyVelocities, const double **d_peer_pos_x,
23  const double **d_peer_pos_y, const double **d_peer_pos_z,
24  const double **d_peer_vel_x, const double **d_peer_vel_y,
25  const double **d_peer_vel_z, const char3 **d_peer_transform,
26  const float **d_peer_mass, const float **d_peer_charge, const Lattice lat,
27  const CudaGlobalMasterServer::CopyListTuple *d_copyList,
28  size_t numCopyTuples, CudaGlobalMasterServer::ClientBuffer *d_clientBuffers,
29  size_t numClients, cudaStream_t stream);
30 
31 void copyTotalForcesToClientsCUDA(
32  bool fixedOn, const double *d_f_normal_x, const double *d_f_normal_y,
33  const double *d_f_normal_z, const double *d_f_nbond_x,
34  const double *d_f_nbond_y, const double *d_f_nbond_z,
35  const double *d_f_slow_x, const double *d_f_slow_y,
36  const double *d_f_slow_z, const int *d_atomFixed,
37  const CudaGlobalMasterServer::CopyListTuple *d_copyList,
38  size_t numCopyTuples, CudaGlobalMasterServer::ClientBuffer *d_clientBuffers,
39  size_t numClients, cudaStream_t stream);
40 
41 void copyTotalForcesToClientsCUDAMGPU(
42  bool fixedOn, const double **d_peer_f_normal_x,
43  const double **d_peer_f_normal_y, const double **d_peer_f_normal_z,
44  const double **d_peer_f_nbond_x, const double **d_peer_f_nbond_y,
45  const double **d_peer_f_nbond_z, const double **d_peer_f_slow_x,
46  const double **d_peer_f_slow_y, const double **d_peer_f_slow_z,
47  const int **d_peer_atomFixed,
48  const CudaGlobalMasterServer::CopyListTuple *d_copyList,
49  size_t numCopyTuples, CudaGlobalMasterServer::ClientBuffer *d_clientBuffers,
50  size_t numClients, cudaStream_t stream);
51 
52 void addGlobalForcesFromClients(
53  const int fixedOn, const int uniqueAtoms,
54  double *d_f_global_x, double *d_f_global_y,
55  double *d_f_global_z, const int *d_atomFixed,
56  const CudaGlobalMasterServer::CopyListTuple *d_copyList,
57  size_t numCopyTuples, CudaGlobalMasterServer::ClientBuffer *d_clientBuffers,
58  size_t numClients, cudaStream_t stream);
59 
60 void addGlobalForcesFromClientsMGPU(
61  const int fixedOn, const int uniqueAtoms,
62  double **d_peer_f_global_x, double **d_peer_f_global_y,
63  double **d_peer_f_global_z, const int **d_peer_atomFixed,
64  const CudaGlobalMasterServer::CopyListTuple *d_copyList,
65  size_t numCopyTuples, CudaGlobalMasterServer::ClientBuffer *d_clientBuffers,
66  size_t numClients, cudaStream_t stream);
67 
68 #endif // defined(NAMD_CUDA) && defined(NODEGROUP_FORCE_REGISTER)
69 
70 #endif // CUDAGLOBALMASTERSERVERKERNEL_H