1 #ifndef RESTRAINTSCUDA_H 2 #define RESTRAINTSCUDA_H 8 #include <hip/hip_runtime.h> 19 #if defined(NAMD_CUDA) || defined(NAMD_HIP) 20 #ifdef NODEGROUP_FORCE_REGISTER 22 class ComputeRestraintsCUDA {
25 ComputeRestraintsCUDA(
26 std::vector<HomePatch*> &patchList,
27 std::vector<AtomMap*> &atomMapList,
32 void updateRestrainedAtoms(
33 std::vector<AtomMap*> &atomMapsLists,
34 std::vector<CudaLocalRecord> &localRecords,
35 const int* h_globalToLocalID
38 ~ComputeRestraintsCUDA();
61 int nConstrainedAtoms;
78 double3 spheConsCenter;
83 std::vector<int> h_constrainedID;
84 std::vector<int> constrainedLocalAtomsIndex;
85 std::map<int,int> constrainedAtomsIndexMap;
86 std::vector<double> h_k;
87 std::vector<double> h_cons_x;
88 std::vector<double> h_cons_y;
89 std::vector<double> h_cons_z;
91 int* h_constrainedSOA;
92 int* d_constrainedSOA;
99 unsigned int* d_tbcatomic;
104 #endif // NODEGROUP_FORCE_REGISTER 106 #endif // RESTRAINTSCUDA_H