NAMD
ComputeGroupRes1GroupCUDAKernel.h
Go to the documentation of this file.
1
#ifndef GROUP_RESTRAINTS_1GROUP_CUDA_KERNEL_H
2
#define GROUP_RESTRAINTS_1GROUP_CUDA_KERNEL_H
3
4
#include "
Lattice.h
"
5
#include "
CudaUtils.h
"
6
#include "
CudaRecord.h
"
7
8
#ifdef NODEGROUP_FORCE_REGISTER
9
void
computeDistCOM
10
(
11
const
int
numRestrainedGroup,
12
double3* d_curCM,
13
double3** d_peerCOM,
14
const
int
numDevices,
15
cudaStream_t stream);
16
17
void
copyDistCOM
18
(
19
const
int
numRestrainedGroup,
20
double3** d_peerCOM,
21
double3* h_peerCOM,
22
const
int
numDevices,
23
cudaStream_t stream);
24
25
void
computeLocalCOM
26
(
27
const
int
numRestrainedGroup,
28
const
double
inv_group2_mass,
29
const
int
* d_groupAtomsSOAIndex,
30
const
Lattice
&lat,
31
const
char3* d_transform,
32
const
float
* d_mass,
33
const
double
* d_pos_x,
34
const
double
* d_pos_y,
35
const
double
* d_pos_z,
36
double3* h_group2COM,
37
double3* d_group2COM,
38
unsigned
int
* d_tbcatomic,
39
cudaStream_t stream);
40
41
46
void
computeGroupRestraint_1Group(
47
const
bool
mGpuOn,
48
const
int
useMagnitude,
49
const
int
doEnergy,
50
const
int
doVirial,
51
const
int
numRestrainedGroup,
52
const
int
restraintExp,
53
const
double
restraintK,
54
const
double3 resCenterVec,
55
const
double3 resDirection,
56
const
double
inv_group2_mass,
57
const
int
* d_groupAtomsSOAIndex,
58
const
Lattice
&lat,
59
const
char3* d_transform,
60
const
float
* d_mass,
61
const
double
* d_pos_x,
62
const
double
* d_pos_y,
63
const
double
* d_pos_z,
64
double
* d_f_normal_x,
65
double
* d_f_normal_y,
66
double
* d_f_normal_z,
67
cudaTensor
* d_virial,
68
cudaTensor
* h_extVirial,
69
double
* h_resEnergy,
70
double3* h_resForce,
71
double3* h_group1COMRef,
72
double3* h_group2COM,
73
double3* h_diffCOM,
74
double3** d_peer2COM,
75
double3* d_group2COM,
76
unsigned
int
* d_tbcatomic,
77
int
numDevices,
78
cudaStream_t stream);
79
80
void
initPeerCOMmgpuG(
81
const
int
numDevices,
82
const
int
deviceIndex,
83
double3** d_peerPool,
84
double3* d_peerCOM,
85
cudaStream_t stream);
86
87
void
computeCOMMgpu(
88
const
int
numAtoms,
89
const
Lattice
&lat,
90
const
float
* d_mass,
91
const
double
* d_pos_x,
92
const
double
* d_pos_y,
93
const
double
* d_pos_z,
94
const
char3* d_transform,
95
const
int
* d_AtomsSOAIndex,
96
double3* d_peerCOM,
97
double3** d_peer_CM,
98
unsigned
int
* d_tbcatomic,
99
const
int
numDevices,
100
const
int
deviceIndex,
101
cudaStream_t stream);
102
103
#endif // NODEGROUP_FORCE_REGISTER
104
#endif // GROUP_RESTRAINTS_1GROUP_CUDA_KERNEL_H
CudaUtils.h
cudaTensor
Definition:
CudaUtils.h:75
Lattice.h
Lattice
Definition:
Lattice.h:17
CudaRecord.h
Generated by
1.8.14