Make use of the DeviceStreamManager
[alexxy/gromacs.git] / src / gromacs / domdec / domdec.h
index da617607a64a1acf500d3c83338e4da823beced7..82cefa18c1eafcd85dab35aae4f4fda876e61dfc 100644 (file)
@@ -84,13 +84,13 @@ struct t_mdatoms;
 struct t_nrnb;
 struct gmx_wallcycle;
 enum class PbcType : int;
-class DeviceStream;
 class t_state;
 class DeviceContext;
 class GpuEventSynchronizer;
 
 namespace gmx
 {
+class DeviceStreamManager;
 class ForceWithShiftForces;
 class MDLogger;
 class RangePartitioning;
@@ -313,18 +313,15 @@ void dd_bonded_cg_distance(const gmx::MDLogger& mdlog,
                            real*                r_2b,
                            real*                r_mb);
 
-/*! \brief Construct the GPU halo exchange object(s)
- * \param[in] mdlog          The logger object
- * \param[in] cr             The commrec object
- * \param[in] deviceContext  GPU device context
- * \param[in] streamLocal    The local GPU stream
- * \param[in] streamNonLocal The non-local GPU stream
+/*! \brief Construct the GPU halo exchange object(s).
+ *
+ * \param[in] mdlog               The logger object.
+ * \param[in] cr                  The commrec object.
+ * \param[in] deviceStreamManager Manager of the GPU context and streams.
  */
-void constructGpuHaloExchange(const gmx::MDLogger& mdlog,
-                              const t_commrec&     cr,
-                              const DeviceContext& deviceContext,
-                              const DeviceStream&  streamLocal,
-                              const DeviceStream&  streamNonLocal);
+void constructGpuHaloExchange(const gmx::MDLogger&            mdlog,
+                              const t_commrec&                cr,
+                              const gmx::DeviceStreamManager& deviceStreamManager);
 
 /*! \brief
  * (Re-) Initialization for GPU halo exchange