Change PaddedVector to PaddedHostVector for force CPU buffer
[alexxy/gromacs.git] / src / gromacs / domdec / partition.h
index dbe641c7987b59f25bfaf4b8203cff7cab87e750..68fd8c2fcb19e57bd8924d65f863f87ff7ef2cb1 100644 (file)
@@ -45,7 +45,7 @@
 #ifndef GMX_DOMDEC_PARTITION_H
 #define GMX_DOMDEC_PARTITION_H
 
-#include "gromacs/math/paddedvector.h"
+#include "gromacs/gpu_utils/hostallocator.h"
 #include "gromacs/math/vectypes.h"
 #include "gromacs/utility/basedefinitions.h"
 #include "gromacs/utility/real.h"
@@ -87,28 +87,50 @@ void print_dd_statistics(const t_commrec *cr, const t_inputrec *ir, FILE *fplog)
  * If bMasterState==TRUE then state_global from the master node is used,
  * else state_local is redistributed between the nodes.
  * When f!=NULL, *f will be reallocated to the size of state_local.
+ *
+ * \param[in] fplog         Pointer to the log file
+ * \param[in] mdlog         MD file logger
+ * \param[in] step          Current step
+ * \param[in] cr            Communication record
+ * \param[in] bMasterState  Is it a master state
+ * \param[in] nstglobalcomm Will globals be computed on this step
+ * \param[in] state_global  Global state
+ * \param[in] top_global    Global topology
+ * \param[in] ir            Input record
+ * \param[in] imdSession    IMD handle
+ * \param[in] pull_work     Pulling data
+ * \param[in] state_local   Local state
+ * \param[in] f             Force buffer
+ * \param[in] mdatoms       MD atoms
+ * \param[in] top_local     Local topology
+ * \param[in] fr            Force record
+ * \param[in] vsite         Virtual sites
+ * \param[in] constr        Constraints
+ * \param[in] nrnb          Cycle counters
+ * \param[in] wcycle        Timers
+ * \param[in] bVerbose      Be verbose
  */
-void dd_partition_system(FILE                    *fplog,
-                         const gmx::MDLogger     &mdlog,
-                         int64_t                  step,
-                         const t_commrec         *cr,
-                         gmx_bool                 bMasterState,
-                         int                      nstglobalcomm,
-                         t_state                 *state_global,
-                         const gmx_mtop_t        &top_global,
-                         const t_inputrec        *ir,
-                         gmx::ImdSession         *imdSession,
-                         pull_t                  *pull_work,
-                         t_state                 *state_local,
-                         PaddedVector<gmx::RVec> *f,
-                         gmx::MDAtoms            *mdatoms,
-                         gmx_localtop_t          *top_local,
-                         t_forcerec              *fr,
-                         gmx_vsite_t             *vsite,
-                         gmx::Constraints        *constr,
-                         t_nrnb                  *nrnb,
-                         gmx_wallcycle           *wcycle,
-                         gmx_bool                 bVerbose);
+void dd_partition_system(FILE                             *fplog,
+                         const gmx::MDLogger              &mdlog,
+                         int64_t                           step,
+                         const t_commrec                  *cr,
+                         gmx_bool                          bMasterState,
+                         int                               nstglobalcomm,
+                         t_state                          *state_global,
+                         const gmx_mtop_t                 &top_global,
+                         const t_inputrec                 *ir,
+                         gmx::ImdSession                  *imdSession,
+                         pull_t                           *pull_work,
+                         t_state                          *state_local,
+                         gmx::PaddedHostVector<gmx::RVec> *f,
+                         gmx::MDAtoms                     *mdatoms,
+                         gmx_localtop_t                   *top_local,
+                         t_forcerec                       *fr,
+                         gmx_vsite_t                      *vsite,
+                         gmx::Constraints                 *constr,
+                         t_nrnb                           *nrnb,
+                         gmx_wallcycle                    *wcycle,
+                         gmx_bool                          bVerbose);
 
 /*! \brief Check whether bonded interactions are missing, if appropriate
  *