Pass devFlags into createSimulationWorkload replacing bools
[alexxy/gromacs.git] / src / gromacs / taskassignment / decidesimulationworkload.h
index b8d81c02b5107b2ca5f6671a74ee231077d983f7..7dd87e60730b10ad1faa7843f8a530a78d2dc180 100644 (file)
@@ -52,30 +52,28 @@ enum class PmeRunMode;
 namespace gmx
 {
 
+struct DevelopmentFeatureFlags;
+
 /*! \brief
  * Build datastructure that contains decisions whether to run different workload
  * task on GPUs.
  *
  * \param[in] inputrec           The input record
+ * \param[in] devFlags           The development feature flags
  * \param[in] useGpuForNonbonded Whether we have short-range nonbonded interactions
  *                               calculations on GPU(s).
  * \param[in] pmeRunMode         Run mode indicating what resource is PME execured on.
  * \param[in] useGpuForBonded    Whether bonded interactions are calculated on GPU(s).
  * \param[in] useGpuForUpdate    Whether coordinate update and constraint solving is performed on
  *                               GPU(s).
- * \param[in] useGpuForBufferOps Whether buffer ops / reduction are calculated on GPU(s).
- * \param[in] useGpuHaloExchange Whether GPU direct communication is used in halo exchange.
- * \param[in] useGpuPmePpComm    Whether GPU direct communication is used in PME-PP communication.
  * \returns Simulation lifetime constant workload description.
  */
-SimulationWorkload createSimulationWorkload(const t_inputrec& inputrec,
-                                            bool              useGpuForNonbonded,
-                                            PmeRunMode        pmeRunMode,
-                                            bool              useGpuForBonded,
-                                            bool              useGpuForUpdate,
-                                            bool              useGpuForBufferOps,
-                                            bool              useGpuHaloExchange,
-                                            bool              useGpuPmePpComm);
+SimulationWorkload createSimulationWorkload(const t_inputrec&              inputrec,
+                                            const DevelopmentFeatureFlags& devFlags,
+                                            bool                           useGpuForNonbonded,
+                                            PmeRunMode                     pmeRunMode,
+                                            bool                           useGpuForBonded,
+                                            bool                           useGpuForUpdate);
 
 } // namespace gmx