Skip to content
  • Mark Abraham's avatar
    Removed dependency on commrec of mdrun setup · e39949c7
    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