Add haveEwaldSurfaceContribution to SimulationWorkload
[alexxy/gromacs.git] / src / gromacs / taskassignment / decidesimulationworkload.cpp
index ea82f95f42bccd1eef0cef622a3d343a0204ec28..933aeaef6757bce127cb44d19e50019de6aea467 100644 (file)
 namespace gmx
 {
 
-SimulationWorkload createSimulationWorkload(bool       useGpuForNonbonded,
-                                            PmeRunMode pmeRunMode,
-                                            bool       useGpuForBonded,
-                                            bool       useGpuForUpdate,
-                                            bool       useGpuForBufferOps,
-                                            bool       useGpuHaloExchange,
-                                            bool       useGpuPmePpComm)
+SimulationWorkload createSimulationWorkload(bool              useGpuForNonbonded,
+                                            PmeRunMode        pmeRunMode,
+                                            bool              useGpuForBonded,
+                                            bool              useGpuForUpdate,
+                                            bool              useGpuForBufferOps,
+                                            bool              useGpuHaloExchange,
+                                            bool              useGpuPmePpComm,
+                                            bool              haveEwaldSurfaceContribution)
 {
     SimulationWorkload simulationWorkload;
-    simulationWorkload.useCpuNonbonded           = !useGpuForNonbonded;
-    simulationWorkload.useGpuNonbonded           = useGpuForNonbonded;
-    simulationWorkload.useCpuPme                 = (pmeRunMode == PmeRunMode::CPU);
-    simulationWorkload.useGpuPme                 = (pmeRunMode == PmeRunMode::GPU || pmeRunMode == PmeRunMode::Mixed);
-    simulationWorkload.useGpuPmeFft              = (pmeRunMode == PmeRunMode::Mixed);
-    simulationWorkload.useGpuBonded              = useGpuForBonded;
-    simulationWorkload.useGpuUpdate              = useGpuForUpdate;
-    simulationWorkload.useGpuBufferOps           = useGpuForBufferOps || useGpuForUpdate;
-    simulationWorkload.useGpuHaloExchange        = useGpuHaloExchange;
-    simulationWorkload.useGpuPmePpCommunication  = useGpuPmePpComm;
-    simulationWorkload.useGpuDirectCommunication = useGpuHaloExchange || useGpuPmePpComm;
+    simulationWorkload.useCpuNonbonded              = !useGpuForNonbonded;
+    simulationWorkload.useGpuNonbonded              = useGpuForNonbonded;
+    simulationWorkload.useCpuPme                    = (pmeRunMode == PmeRunMode::CPU);
+    simulationWorkload.useGpuPme                    = (pmeRunMode == PmeRunMode::GPU || pmeRunMode == PmeRunMode::Mixed);
+    simulationWorkload.useGpuPmeFft                 = (pmeRunMode == PmeRunMode::Mixed);
+    simulationWorkload.useGpuBonded                 = useGpuForBonded;
+    simulationWorkload.useGpuUpdate                 = useGpuForUpdate;
+    simulationWorkload.useGpuBufferOps              = useGpuForBufferOps || useGpuForUpdate;
+    simulationWorkload.useGpuHaloExchange           = useGpuHaloExchange;
+    simulationWorkload.useGpuPmePpCommunication     = useGpuPmePpComm;
+    simulationWorkload.useGpuDirectCommunication    = useGpuHaloExchange || useGpuPmePpComm;
+    simulationWorkload.haveEwaldSurfaceContribution = haveEwaldSurfaceContribution;
 
     return simulationWorkload;
 }