1 #ifndef CUDAGLOBALMASTERSERVERKERNEL_H 2 #define CUDAGLOBALMASTERSERVERKERNEL_H 8 #if defined(NAMD_CUDA) && defined(NODEGROUP_FORCE_REGISTER) 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);
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);
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);
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);
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);
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);
68 #endif // defined(NAMD_CUDA) && defined(NODEGROUP_FORCE_REGISTER) 70 #endif // CUDAGLOBALMASTERSERVERKERNEL_H