-
Mark Abraham authored
Changes no functionality. Setup is now parameterized directly on MPI_COMM_WORLD, which we will want later for letting library-based callers pass in an MPI_Communicator. This permits commrec to be initialized later, once the threads have been spawned for the thread-MPI ranks. The initialization of multi-simulations moves from LegacyMdrunOptions to SimulationContext, which is more appropriate for ensemble-parallelism established directly by the user. Before the decision about the duty of a rank, there is no difference between MASTER(cr) and SIMMASTER(cr), so several calls to macros taking a t_commrec pointer are replaced by booleans. Introduced findIsSimulationMasterRank to compute that value. This eliminates early use of t_commrec that has necessitated other hacks and workarounds. Removed redundant check for replica exchange when the number of multi simulations is less than two, because gmx_multisim_t constructor already prohibits that. Resolves several TODO items and improves modularity, too. Refs #2587, #2605, #3081 Change-Id: I48bd3b713bc181b5c1e4cbcd648706a9f00eab96
e39949c7