Construct a struct with development feature flags
[alexxy/gromacs.git] / src / gromacs / taskassignment / decidesimulationworkload.cpp
index be1b5d6002d2604f9bfb5f3878199a93efeb43d6..17c3dc06af349f9a5620d797952335ba15cb712a 100644 (file)
@@ -53,7 +53,10 @@ SimulationWorkload createSimulationWorkload(bool useGpuForNonbonded,
                                             bool useGpuForPme,
                                             bool useGpuForPmeFft,
                                             bool useGpuForBonded,
-                                            bool useGpuForUpdateConstraints)
+                                            bool useGpuForUpdateConstraints,
+                                            bool useGpuForBufferOps,
+                                            bool useGpuHaloExchange,
+                                            bool useGpuPmePpComm)
 {
     SimulationWorkload simulationWorkload {
         useGpuForNonbonded,
@@ -61,10 +64,10 @@ SimulationWorkload createSimulationWorkload(bool useGpuForNonbonded,
         useGpuForPmeFft,
         useGpuForBonded,
         useGpuForUpdateConstraints,
-        (getenv("GMX_USE_GPU_BUFFER_OPS") != nullptr),
-        (getenv("GMX_GPU_DD_COMMS") != nullptr),
-        (getenv("GMX_GPU_PME_PP_COMMS") != nullptr),
-        (getenv("GMX_GPU_DD_COMMS") != nullptr) || (getenv("GMX_GPU_PME_PP_COMMS") != nullptr)
+        useGpuForBufferOps,
+        useGpuHaloExchange,
+        useGpuPmePpComm,
+        useGpuHaloExchange || useGpuPmePpComm
     };
 
     return simulationWorkload;