On 20/11/2011 9:11 PM, Igor Druz wrote:
If the -reprod option works fine and we can get complete reproducability on one machine, then I would think there must be a way of at least minimizing differences on two machines.

Sure. Make as many things as similar as you can. Just don't bother trying too hard. The first tiny difference sees the simulations diverge, and you likely cannot prevent such a difference occurring, even if the difference is just a different OS on identical hardware. Chaos is inescapable here.

I was hoping to pick on the experience with precision, whether it is worth having a go with a double precision compilation?

That will reduce the effect of differences that affect numerical accuracy but make things more than twice as slow.

Mark

Igor
On Sun, Nov 20, 2011 at 9:16 AM, Mark Abraham <[email protected] <mailto:[email protected]>> wrote:

    On 20/11/2011 7:31 PM, Igor Druz wrote:
    I recompiled gromacs, lam, fftw3 on both PCs with the same
    version of intel compilers (before they were different, v. 10 &
    12), set gen_vel=no and optimize_fft=no.
    With these changes I am getting agreement between two PCs within
    ~5% (was ~20% before). Ignore the nsteps value from the pasted
    mdp file. The actual run with ~20% difference was for the 30 ns
    run. I will test longer runs.
    Is there anything else to consider for better reproducability on
    two PCs? Hardware is the same, but OSes are RedHat and OpenSuse.

    So far, you don't even know that the variation attributable to the
    difference in machines is significant compared to the intrinsic
    variation observed over replicates of the same kind of simulation
    on the same machine (e.g. different starting velocities). It's
    just not worth doing the work to study those effects...

    Mark



    On Sat, Nov 19, 2011 at 11:31 AM, Mark Abraham
    <[email protected] <mailto:[email protected]>> wrote:

        On 19/11/2011 10:10 PM, Igor Druz wrote:
        Hello,

        I am running MDs on a linux PC with OpenSuse, using:

        mpirun -np 4 mdrun -v -dlb auto -reprod ....

        If I repeat the calculation on the same PC, I get the same
        result. If I change to another PC with RedHat I get a
        different result.

        Yep.
        http://www.gromacs.org/Documentation/Terminology/Reproducibility


        More specifically, I am calculating a deviation from
        experiment, which varies by ~20 % on changing operating
        systems (pretty much the same hardware on both PCs). Is
        there any way to avoid such variations? I guess I am missing
        something in the mdp file, which is:

        Change your gen_vel seed and I bet you observe a similar
        variation on the same machine. There are rather few systems
        that will have equilibrated in 2ns, never mind converged.

        Mark



        cpp                 =  /usr/bin/cpp -traditional
        integrator               = sd
        tinit                    = 0
        dt                       = 0.002
        nsteps                   = 1000000

        nstcomm                  = 1
        nstcalcenergy            = 1
        nstxout                  = 5
        nstvout                  = 100
        nstlog                   = 100
        nstenergy                = 100

        nstlist                  =  5
        ns_type                  = grid

        pbc                      = xyz
        rlist                    = 0.9

        optimize_fft             = yes
        coulombtype              = pme
        rcoulomb                 = 0.9
        epsilon-r                = 1
        rvdw                     = 0.9

        constraints              = all-bonds
        constraint-algorithm     = Lincs

        unconstrained-start      = yes
        lincs-warnangle          = 30

        tc_grps                  = System
        tau_t                    = 0.1
        ref_t                    = 300.0

        Pcoupl                   = parrinello-rahman
        tau_p                    = 2
        compressibility         = 4.5e-05
        ref_p                    = 1.0

        gen_vel                  = yes
        gen_temp                 = 300.0
        gen_seed                 = 173529


        Many thanks for your help,
        Igor




        --
        gmx-users mailing list [email protected]
        <mailto:[email protected]>
        http://lists.gromacs.org/mailman/listinfo/gmx-users
        Please search the archive at
        http://www.gromacs.org/Support/Mailing_Lists/Search before
        posting!
        Please don't post (un)subscribe requests to the list. Use the
        www interface or send it to [email protected]
        <mailto:[email protected]>.
        Can't post? Read http://www.gromacs.org/Support/Mailing_Lists






    --
    gmx-users mailing list [email protected]
    <mailto:[email protected]>
    http://lists.gromacs.org/mailman/listinfo/gmx-users
    Please search the archive at
    http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
    Please don't post (un)subscribe requests to the list. Use the
    www interface or send it to [email protected]
    <mailto:[email protected]>.
    Can't post? Read http://www.gromacs.org/Support/Mailing_Lists





-- 
gmx-users mailing list    [email protected]
http://lists.gromacs.org/mailman/listinfo/gmx-users
Please search the archive at 
http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
Please don't post (un)subscribe requests to the list. Use the 
www interface or send it to [email protected].
Can't post? Read http://www.gromacs.org/Support/Mailing_Lists

Reply via email to