Add env.var. to disable update groups
authorBerk Hess <hess@kth.se>
Wed, 17 Oct 2018 20:37:58 +0000 (22:37 +0200)
committerMark Abraham <mark.j.abraham@gmail.com>
Thu, 18 Oct 2018 04:14:30 +0000 (06:14 +0200)
Change-Id: Iba4d9636f2da01fa1bc9e003446621c743fb9114

docs/user-guide/environment-variables.rst
src/gromacs/domdec/domdec.cpp

index 61ef25443e8b879794e6555ccdc8b4ff085201ce..a03d2958ad0a1ed69a59a9809c40b09ca0fc5778 100644 (file)
@@ -316,6 +316,10 @@ Performance and Run Control
         turns off solvent optimizations; automatic if ``GMX_NB_GENERIC``
         is enabled.
 
+``GMX_NO_UPDATEGROUPS``
+        turns off update groups. May allow for a decomposition of more
+        domains for small systems at the cost of communication during update.
+
 ``GMX_NSCELL_NCG``
         the ideal number of charge groups per neighbor searching grid cell is hard-coded
         to a value of 10. Setting this environment variable to any other integer value overrides this hard-coded
index 03371c1994585c1037938cafe981dccc87acfdde..48c3f849639be097b74b91e5912fb29fb982b026 100644 (file)
@@ -2088,7 +2088,9 @@ static void setupUpdateGroups(const gmx::MDLogger &mdlog,
     }
 
     comm->updateGroupingPerMoleculetype = gmx::makeUpdateGroups(mtop);
-    comm->useUpdateGroups               = !comm->updateGroupingPerMoleculetype.empty();
+    comm->useUpdateGroups               =
+        (!comm->updateGroupingPerMoleculetype.empty() &&
+         getenv("GMX_NO_UPDATEGROUPS") == nullptr);
 
     if (comm->useUpdateGroups)
     {