Announcement

Collapse
No announcement yet.

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

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

  • #31
    Update for md-gromacs test profile and molecular-dynamics test suite.
    Reduces overall environment size by removing redundant binaries and adds double precision tests to the profile and suite.

    Code:
    diff --git a/pts/test-profiles/md-gromacs.xml b/pts/test-profiles/md-gromacs.xml
    index 833f9bb..5bb56cc 100644
    --- a/pts/test-profiles/md-gromacs.xml
    +++ b/pts/test-profiles/md-gromacs.xml
    @@ -1,13 +1,13 @@
     <PhoronixTestSuite>
         <TestProfile>
    -        <Version>1.0.0</Version>
    +        <Version>1.1.0</Version>
             <TestType>Processor</TestType>
             <SoftwareType>Scientific</SoftwareType>
             <License>FREE</License>
             <Status>VERIFIED</Status>
             <Maintainer>Andrew Schofield</Maintainer>
             <DownloadSize>30</DownloadSize>
    -        <EnvironmentSize>247</EnvironmentSize>
    +        <EnvironmentSize>106</EnvironmentSize>
         </TestProfile>
         <TestInformation>
             <Title>GROMACS MD Benchmark</Title>
    @@ -59,5 +59,20 @@
                     </Entry>
                 </Menu>
             </Option>
    +        <Option>
    +            <DisplayName>Precision</DisplayName>
    +            <Identifier>precision</Identifier>
    +            <ArgumentName></ArgumentName>
    +            <Menu>
    +                <Entry>
    +                    <Name>Single Precision (SSE)</Name>
    +                    <Value>single</Value>
    +                </Entry>
    +                <Entry>
    +                    <Name>Double Precision (SSE2)</Name>
    +                    <Value>double</Value>
    +                </Entry>
    +            </Menu>
    +        </Option>
         </TestSettings>
     </PhoronixTestSuite>
    diff --git a/pts/test-resources/md-gromacs/install.sh b/pts/test-resources/md-gromacs/install.sh
    index c343439..5c10044 100644
    --- a/pts/test-resources/md-gromacs/install.sh
    +++ b/pts/test-resources/md-gromacs/install.sh
    @@ -1,6 +1,9 @@
     #!/bin/sh
     
     THIS_DIR=$(pwd)
    +rm -rf $THIS_DIR/fftw_
    +rm -rf $THIS_DIR/mpich2_
    +rm -rf $THIS_DIR/gromacs333_
     mkdir $THIS_DIR/fftw_
     mkdir $THIS_DIR/mpich2_
     mkdir $THIS_DIR/gromacs333_
    @@ -27,16 +30,28 @@ rm -rf mpich2-1.0.7/
     
     tar -xvf gromacs-3.3.3.tar.gz
     cd gromacs-3.3.3/
    -./configure --prefix=$THIS_DIR/gromacs333_ --enable-mpi CPPFLAGS=-I$THIS_DIR/fftw_/include LDFLAGS=-L$THIS_DIR/fftw_/lib PATH=$THIS_DIR/mpich2_/bin/:$PATH
    +./configure --prefix=$THIS_DIR/gromacs333_ --enable-mpi --program-suffix="_SSE_MPI" CPPFLAGS=-I$THIS_DIR/fftw_/include LDFLAGS=-L$THIS_DIR/fftw_/lib PATH=$THIS_DIR/mpich2_/bin/:$PATH
     make -j $NUM_CPU_JOBS PATH=$THIS_DIR/mpich2_/bin/:$PATH
     make install
     make clean
    -./configure --prefix=$THIS_DIR/gromacs333_ CPPFLAGS=-I$THIS_DIR/fftw_/include LDFLAGS=-L$THIS_DIR/fftw_/lib --program-suffix="_single"
    -make mdrun
    -make install-mdrun
    +./configure --prefix=$THIS_DIR/gromacs333_ CPPFLAGS=-I$THIS_DIR/fftw_/include LDFLAGS=-L$THIS_DIR/fftw_/lib --program-suffix="_SSE"
    +make -j $NUM_CPU_JOBS
    +make install
    +make clean
    +./configure --prefix=$THIS_DIR/gromacs333_ --enable-mpi --disable-float --program-suffix="_SSE2_MPI" CPPFLAGS=-I$THIS_DIR/fftw_/include LDFLAGS=-L$THIS_DIR/fftw_/lib PATH=$THIS_DIR/mpich2_/bin/:$PATH
    +make -j $NUM_CPU_JOBS PATH=$THIS_DIR/mpich2_/bin/:$PATH
    +make install
    +make clean
    +./configure --prefix=$THIS_DIR/gromacs333_ CPPFLAGS=-I$THIS_DIR/fftw_/include LDFLAGS=-L$THIS_DIR/fftw_/lib --disable-float --program-suffix="_SSE2"
    +make -j $NUM_CPU_JOBS
    +make install
     cd ..
     rm -rf gromacs-3.3.3/
     
    +cd gromacs333_/bin
    +ls --indicator-style=none | grep -i -v -e "grompp\|mdrun" | xargs rm
    +cd ../..
    +
     echo "#!/bin/sh
     if [ -d $THIS_DIR/gmxbench ]
       then
    @@ -49,6 +64,18 @@ fi
     mkdir $THIS_DIR/gmxbench
     tar -xvf gmxbench-3.0.tar.gz -C $THIS_DIR/gmxbench/ 1>/dev/null 2>&1
     
    +case "\$3" in
    +\"single\")
    +    PRECISION=\"SSE\"
    +    ;;
    +\"double\")
    +    PRECISION=\"SSE2\"
    +    ;;
    +*)
    +    exit
    +    ;;
    +esac
    +
     case "\$1" in
     \"villin\")
         cd $THIS_DIR/gmxbench/d.villin/
    @@ -67,18 +94,15 @@ case "\$1" in
         exit
         ;;
     esac
    -#cat grompp.mdp | sed 's/nsteps                   = 5000/nsteps                   = 5000/' > grompp.mdp.new
    -#rm -f grompp.mdp
    -#mv grompp.mdp.new grompp.mdp
     
     case "\$2" in
     \"mpi\")
    -    $THIS_DIR/gromacs333_/bin/grompp -np \$NUM_CPU_CORES -nov 1>/dev/null 2>&1
    -    $THIS_DIR/mpich2_/bin/mpiexec -np \$NUM_CPU_CORES $THIS_DIR/gromacs333_/bin/mdrun 1>$THIS_DIR/flopcount 2>&1
    +    $THIS_DIR/gromacs333_/bin/grompp_\$PRECISION\_MPI -np \$NUM_CPU_CORES -nov 1>/dev/null 2>&1
    +    $THIS_DIR/mpich2_/bin/mpiexec -np \$NUM_CPU_CORES $THIS_DIR/gromacs333_/bin/mdrun_\$PRECISION\_MPI 1>$THIS_DIR/flopcount 2>&1
         ;;
     \"single-node\")
    -    $THIS_DIR/gromacs333_/bin/grompp -nov 1>/dev/null 2>&1
    -    $THIS_DIR/gromacs333_/bin/mdrun_single 1>$THIS_DIR/flopcount 2>&1
    +    $THIS_DIR/gromacs333_/bin/grompp_\$PRECISION -nov 1>/dev/null 2>&1
    +    $THIS_DIR/gromacs333_/bin/mdrun_\$PRECISION 1>$THIS_DIR/flopcount 2>&1
         ;;
     *)
         exit
    diff --git a/pts/test-suites/molecular-dynamics.xml b/pts/test-suites/molecular-dynamics.xml
    index 2f12809..4714a4a 100644
    --- a/pts/test-suites/molecular-dynamics.xml
    +++ b/pts/test-suites/molecular-dynamics.xml
    @@ -1,6 +1,6 @@
     <PhoronixTestSuite>
         <SuiteInformation>
    -        <Version>1.0.0</Version>
    +        <Version>1.1.0</Version>
             <TestType>Processor</TestType>
             <Title>Molecular Dynamics Test Suite</Title>
             <Maintainer>Andrew Schofield</Maintainer>
    @@ -8,22 +8,42 @@
         </SuiteInformation>
         <RunTest>
             <Test>md-gromacs</Test>
    -        <Arguments>villin single-node</Arguments>
    -        <Description>Single-node Villin</Description>
    +        <Arguments>villin single-node single</Arguments>
    +        <Description>Single-node Villin with Single Precision</Description>
         </RunTest>
         <RunTest>
             <Test>md-gromacs</Test>
    -        <Arguments>villin mpi</Arguments>
    -        <Description>Parallel Villin</Description>
    +        <Arguments>villin single-node double</Arguments>
    +        <Description>Single-node Villin with Double Precision</Description>
         </RunTest>
         <RunTest>
             <Test>md-gromacs</Test>
    -        <Arguments>lzm single-node</Arguments>
    -        <Description>Single-node Lysozyme</Description>
    +        <Arguments>villin mpi single</Arguments>
    +        <Description>Parallel Villin with Single Precision</Description>
         </RunTest>
         <RunTest>
             <Test>md-gromacs</Test>
    -        <Arguments>lzm mpi</Arguments>
    -        <Description>Parallel Lysozyme</Description>
    +        <Arguments>villin mpi double</Arguments>
    +        <Description>Parallel Villin with Double Precision</Description>
    +    </RunTest>
    +    <RunTest>
    +        <Test>md-gromacs</Test>
    +        <Arguments>lzm single-node single</Arguments>
    +        <Description>Single-node Lysozyme with Single Precision</Description>
    +    </RunTest>
    +    <RunTest>
    +        <Test>md-gromacs</Test>
    +        <Arguments>lzm single-node double</Arguments>
    +        <Description>Single-node Lysozyme with Double Precision</Description>
    +    </RunTest>
    +    <RunTest>
    +        <Test>md-gromacs</Test>
    +        <Arguments>lzm mpi single</Arguments>
    +        <Description>Parallel Lysozyme with Single Precision</Description>
    +    </RunTest>
    +    <RunTest>
    +        <Test>md-gromacs</Test>
    +        <Arguments>lzm mpi double</Arguments>
    +        <Description>Parallel Lysozyme with Double Precision</Description>
         </RunTest>
     </PhoronixTestSuite>

    Comment


    • #32
      Thanks, as always, the updated test profile and suite are now in git. If you could test it out, that would be great. There was a problem applying the patch so I had to do it manually.
      Michael Larabel
      https://www.michaellarabel.com/

      Comment


      • #33
        The patch seems to have worked. Thanks.

        Comment

        Working...
        X