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.
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