Announcement

Collapse
No announcement yet.

New test-set (md-gromacs) & suite (molecular-dynamics)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Michael
    replied
    Pushed it into git, but it seems broken for at least the test I tried:

    -------------------------------------------------------
    Program grompp, VERSION 3.3.3
    Source code file: futil.c, line: 345

    File input/output error:
    grompp.mdp
    -------------------------------------------------------

    "Got Coffee, Got Donuts, Got Wasted" (F. Black)

    :-) G R O M A C S (-:

    God Rules Over Mankind, Animals, Cosmos and Such

    :-) VERSION 3.3.3 (-:


    Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
    Copyright (c) 1991-2000, University of Groningen, The Netherlands.
    Copyright (c) 2001-2008, The GROMACS development team,
    check out http://www.gromacs.org for more information.

    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License
    as published by the Free Software Foundation; either version 2
    of the License, or (at your option) any later version.

    :-) /home/michael/pts-benchmark-env/md-gromacs/gromacs333_/bin/mdrun_single (-:

    Option Filename Type Description
    ------------------------------------------------------------
    -s topol.tpr Input Generic run input: tpr tpb tpa xml
    -o traj.trr Output Full precision trajectory: trr trj
    -x traj.xtc Output, Opt. Compressed trajectory (portable xdr format)
    -c confout.gro Output Generic structure: gro g96 pdb xml
    -e ener.edr Output Generic energy: edr ene
    -g md.log Output Log file
    -dgdl dgdl.xvg Output, Opt. xvgr/xmgr file
    -field field.xvg Output, Opt. xvgr/xmgr file
    -table table.xvg Input, Opt. xvgr/xmgr file
    -tablep tablep.xvg Input, Opt. xvgr/xmgr file
    -rerun rerun.xtc Input, Opt. Generic trajectory: xtc trr trj gro g96 pdb
    -tpi tpi.xvg Output, Opt. xvgr/xmgr file
    -ei sam.edi Input, Opt. ED sampling input
    -eo sam.edo Output, Opt. ED sampling output
    -j wham.gct Input, Opt. General coupling stuff
    -jo bam.gct Output, Opt. General coupling stuff
    -ffout gct.xvg Output, Opt. xvgr/xmgr file
    -devout deviatie.xvg Output, Opt. xvgr/xmgr file
    -runav runaver.xvg Output, Opt. xvgr/xmgr file
    -pi pull.ppa Input, Opt. Pull parameters
    -po pullout.ppa Output, Opt. Pull parameters
    -pd pull.pdo Output, Opt. Pull data output
    -pn pull.ndx Input, Opt. Index file
    -mtx nm.mtx Output, Opt. Hessian matrix
    -dn dipole.ndx Output, Opt. Index file

    Option Type Value Description
    ------------------------------------------------------
    -[no]h bool no Print help info and quit
    -nice int 19 Set the nicelevel
    -deffnm string Set the default filename for all file options
    -[no]xvgr bool yes Add specific codes (legends etc.) in the output
    xvg files for the xmgrace program
    -np int 1 Number of nodes, must be the same as used for
    grompp
    -nt int 1 Number of threads to start on each node
    -[no]v bool no Be loud and noisy
    -[no]compact bool yes Write a compact log file
    -[no]sepdvdl bool no Write separate V and dVdl terms for each
    interaction type and node to the log file(s)
    -[no]multi bool no Do multiple simulations in parallel (only with
    -np > 1)
    -replex int 0 Attempt replica exchange every # steps
    -reseed int -1 Seed for replica exchange, -1 is generate a seed
    -[no]glas bool no Do glass simulation with special long range
    corrections
    -[no]ionize bool no Do a simulation including the effect of an X-Ray
    bombardment on your system


    Back Off! I just backed up md.log to ./#md.log.1#

    -------------------------------------------------------
    Program mdrun_single, VERSION 3.3.3
    Source code file: gmxfio.c, line: 706

    Can not open file:
    topol.tpr
    -------------------------------------------------------

    "Got Coffee, Got Donuts, Got Wasted" (F. Black)

    :-) G R O M A C S (-:

    God Rules Over Mankind, Animals, Cosmos and Such

    :-) VERSION 3.3.3 (-:


    Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
    Copyright (c) 1991-2000, University of Groningen, The Netherlands.
    Copyright (c) 2001-2008, The GROMACS development team,
    check out http://www.gromacs.org for more information.

    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License
    as published by the Free Software Foundation; either version 2
    of the License, or (at your option) any later version.

    :-) /home/michael/pts-benchmark-env/md-gromacs/gromacs333_/bin/grompp (-:

    creating statusfile for 1 node...
    d.dppc/
    d.dppc/conf.gro
    d.dppc/grompp.mdp
    d.dppc/topol.top
    d.lzm/
    d.lzm/conf.gro
    d.lzm/cutoff.mdp
    d.lzm/topol.top
    d.lzm/pme.mdp
    d.poly-ch2/
    d.poly-ch2/grompp.mdp
    d.poly-ch2/conf.gro
    d.poly-ch2/topol.top
    d.villin/
    d.villin/conf.gro
    d.villin/topol.top
    d.villin/grompp.mdp

    ====================================
    GROMACS MD Benchmark (Run 3 of 3)
    ====================================

    cd: 30: can't cd to /home/michael/pts-benchmark-env/md-gromacs/gmxbench/d.poly-ch2/
    Option Filename Type Description
    ------------------------------------------------------------
    -f grompp.mdp Input, Opt. grompp input file with MD parameters
    -po mdout.mdp Output grompp input file with MD parameters
    -c conf.gro Input Generic structure: gro g96 pdb tpr tpb tpa
    xml
    -r conf.gro Input, Opt. Generic structure: gro g96 pdb tpr tpb tpa
    xml
    -rb conf.gro Input, Opt. Generic structure: gro g96 pdb tpr tpb tpa
    xml
    -n index.ndx Input, Opt. Index file
    -deshuf deshuf.ndx Output, Opt. Index file
    -p topol.top Input Topology file
    -pp processed.top Output, Opt. Topology file
    -o topol.tpr Output Generic run input: tpr tpb tpa xml
    -t traj.trr Input, Opt. Full precision trajectory: trr trj
    -e ener.edr Input, Opt. Generic energy: edr ene

    Option Type Value Description
    ------------------------------------------------------
    -[no]h bool no Print help info and quit
    -nice int 0 Set the nicelevel
    -[no]v bool no Be loud and noisy
    -time real -1 Take frame at or first after this time.
    -np int 1 Generate statusfile for # nodes
    -[no]shuffle bool no Shuffle molecules over nodes
    -[no]sort bool no Sort molecules according to X coordinate
    -[no]rmvsbds bool yes Remove constant bonded interactions with virtual
    sites
    -load string Releative load capacity of each node on a
    parallel machine. Be sure to use quotes around
    the string, which should contain a number for
    each node
    -maxwarn int 10 Number of warnings after which input processing
    stops
    -[no]check14 bool no Remove 1-4 interactions without Van der Waals
    -[no]zero bool no Set parameters for bonded interactions without
    defaults to zero instead of generating an error
    -[no]renum bool yes Renumber atomtypes and minimize number of
    atomtypes


    -------------------------------------------------------
    Program grompp, VERSION 3.3.3
    Source code file: futil.c, line: 345

    File input/output error:
    grompp.mdp
    -------------------------------------------------------

    Leave a comment:


  • uncle_fungus
    replied
    Ok v0.3 with fixed flop counting, verbosity and result parsing.

    Patch:
    Code:
    diff --git a/pts/test-profiles/md-gromacs.xml b/pts/test-profiles/md-gromacs.xml
    index 548a63d..20da79f 100644
    --- a/pts/test-profiles/md-gromacs.xml
    +++ b/pts/test-profiles/md-gromacs.xml
    @@ -1,6 +1,6 @@
     <PhoronixTestSuite>
            <TestProfile>
    -               <Version>0.2</Version>
    +               <Version>0.3</Version>
                    <TestType>Processor</TestType>
                    <SoftwareType>Scientific</SoftwareType>
                    <License>FREE</License>
    @@ -13,7 +13,7 @@
                    <Version>3.3.3</Version>
                    <TimesToRun>3</TimesToRun>
                    <Executable>gromacs</Executable>
    -               <ResultScale>Gflops</ResultScale>
    +               <ResultScale>GFLOPS</ResultScale>
                    <Proportion>HIB</Proportion>
                    <Description>This test runs a series of molecular dynamics simulations using the GROMACS MD package. This test is capable of running on multiple cores by using the MPICH2 library, and is similar in configuration to the SMP GROMACS cores (FahCore_a1) used by the [email protected] distributed computing project.</Description>
                    <ExternalDependencies>build-utilities, fortran-compiler</ExternalDependencies>
    diff --git a/pts/test-resources/md-gromacs/install.sh b/pts/test-resources/md-gromacs/install.sh
    index 2e0e375..21ff98f 100644
    --- a/pts/test-resources/md-gromacs/install.sh
    +++ b/pts/test-resources/md-gromacs/install.sh
    @@ -44,8 +44,12 @@ if [ -d $THIS_DIR/gmxbench ]
       then
         rm -rf $THIS_DIR/gmxbench/
     fi
    +if [ -f $THIS_DIR/flopcount ]
    +  then
    +    rm -f $THIS_DIR/flopcount
    +fi
     mkdir $THIS_DIR/gmxbench
    -tar -xvf gmxbench-3.0.tar.gz -C $THIS_DIR/gmxbench/
    +tar -xvf gmxbench-3.0.tar.gz -C $THIS_DIR/gmxbench/ &>/dev/null
    
     case "\$1" in
     \"villin\")
    @@ -71,18 +75,20 @@ esac
    
     case "\$2" in
     \"mpi\")
    -       $THIS_DIR/gromacs333_/bin/grompp -np \$NUM_CPU_CORES
    -       $THIS_DIR/mpich2_/bin/mpiexec -np \$NUM_CPU_CORES $THIS_DIR/gromacs333_/bin/mdrun 2>&1
    +       $THIS_DIR/gromacs333_/bin/grompp -np \$NUM_CPU_CORES -nov &>/dev/null
    +       $THIS_DIR/mpich2_/bin/mpiexec -np \$NUM_CPU_CORES $THIS_DIR/gromacs333_/bin/mdrun &> $THIS_DIR/flopcount
            ;;
     \"single-node\")
    -       $THIS_DIR/gromacs333_/bin/grompp
    -       $THIS_DIR/gromacs333_/bin/mdrun_single 2>&1
    +       $THIS_DIR/gromacs333_/bin/grompp -nov &>/dev/null
    +       $THIS_DIR/gromacs333_/bin/mdrun_single &> $THIS_DIR/flopcount
            ;;
     *)
            exit
            ;;
     esac
    
    +grep -C 1 'Performance:' $THIS_DIR/flopcount
    +
     cd $THIS_DIR/
     sleep 3" > gromacs
     chmod +x gromacs
    diff --git a/pts/test-resources/md-gromacs/parse-results.php b/pts/test-resources/md-gromacs/parse-results.php
    index c9b3c9f..74f622a 100644
    --- a/pts/test-resources/md-gromacs/parse-results.php
    +++ b/pts/test-resources/md-gromacs/parse-results.php
    @@ -1,5 +1,29 @@
     <?php
    
    +preg_match("/\((.{0,1})Flops\)/", $argv[1], $match);
    +
    +switch($match[1])
    +{
    +       case 'K':
    +               $factor = 0.000001;
    +               break;
    +       case 'M':
    +               $factor = 0.001;
    +               break;
    +       case 'G':
    +               $factor = 1;
    +               break;
    +       case 'T':
    +               $factor = 1000;
    +               break;
    +       case 'P':
    +               $factor = 1000000;
    +               break;
    +       default:
    +               $factor = 0.000000001; //nothing detected, therefore flops
    +               break;
    +}
    +
     $BENCHMARK_RESULTS = substr($argv[1], strpos($argv[1], "Performance:"));
     $BENCHMARK_RESULTS = substr($BENCHMARK_RESULTS, 0, strpos($BENCHMARK_RESULTS, "\n"));
     $array = explode(" ", $BENCHMARK_RESULTS);
    @@ -10,5 +34,5 @@ foreach($array as $value)
                    array_push($array2, $value);
    
     if(!empty($array2[2]))
    -       echo $array2[2];
    +       echo $array2[2] * $factor;
     ?>
    Full download http://fire-salamander.co.uk/pts-tes...cs-0.3.tar.bz2

    Leave a comment:


  • uncle_fungus
    replied
    I think for the moment I'll just convert everything to Gflops in the parser and see what happens.
    I've managed to clean up the output, and I haven't had the parser fail on me yet, so I think that bug is fixed.

    Leave a comment:


  • Michael
    replied
    Originally posted by uncle_fungus View Post
    What happens if I run a test on two different machines and they report different scales (1 reports Mflops, the other Gflops)?
    Hmmm good question. At this point there is no support in the merge results functionality for converting result formats..... Though you could just turn all md-gromacs results into mflops or gflops in the results parser and then just have them all be the same. I haven't run into a test yet aside from this where there have been two different scales, but always convert back to one.

    Leave a comment:


  • uncle_fungus
    replied
    What happens if I run a test on two different machines and they report different scales (1 reports Mflops, the other Gflops)?

    Leave a comment:


  • Michael
    replied
    Originally posted by uncle_fungus View Post
    There might be another change I need to make in the parser too, as the result from this test: http://global.phoronix-test-suite.co...574-12613-5219 is impossible. The magnitude of the flop counter changes according to the results of the simulation. In the case above, it was reporting Mflops not Gflops.

    I feel a 0.2 release coming on
    Supported in git is now:

    Allow the test results scale to be defined outside of the XML test profile and inside the test's benchmarking environment directory with the scale being the contents of pts-results-scale file
    So if inside your script, you have it "echo gflops > pts-results-scale" inside of your testing directory of where the files are saved at, etc. and it's not defined inside the XML file, it will use that for your scale. So then you would print out mflops or gflops when the test runs. Got it?

    Leave a comment:


  • uncle_fungus
    replied
    From the point of view of benchmarking maybe there isn't a need for the selection to be manual, but from the point of view of running GROMACS there are instances when running multiple single-node runs would be preferable to one parallel run. This is mostly because the current release of GROMACS doesn't scale perfectly in parallel runs (CVS versions are much better, but that is beyond the scope of this benchmark).

    The parallel runs aren't really "threading," they're launching n copies of GROMACS and communicating via MPI.

    Leave a comment:


  • Michael
    replied
    Also, is there a reason why:

    Run-type:

    1: Single Node (1 thread)
    2: Parallel (multiple threads)


    isn't automatic depending upon the number of CPU cores?

    Leave a comment:


  • uncle_fungus
    replied
    Yes, I thought that might be the reason, since both programs that have to be run are very verbose.

    There might be another change I need to make in the parser too, as the result from this test: http://global.phoronix-test-suite.co...574-12613-5219 is impossible. The magnitude of the flop counter changes according to the results of the simulation. In the case above, it was reporting Mflops not Gflops.

    I feel a 0.2 release coming on

    Leave a comment:


  • Michael
    replied
    Fixed in git.

    I still haven't experienced the results parsing bug that you mentioned occurs sometimes at random. However, what I believe it may be attributed to is everything that's printed out to stdout. If you look at the other tests, there isn't much printed out (and what's printed out is what's sent to your parse results). If you add some greps to your install.sh in the creation of your md-gromacs file, to have it only grep like the performance: line or to just make it not print so much to the screen that isn't needed to parse the results, that would probably address the issue if this is indeed the problem.

    Leave a comment:

Working...
X