Announcement

Collapse
No announcement yet.

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

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

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

    I've put together a test-set for the GROMACS molecular dynamics package for benchmarking processors (and memory subsystems to some extent) since this interests me.

    Description:
    This test runs a series of molecular dynamics simulations using the GROMACS MD package. This benchmark 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 Folding@home distributed computing project.
    The test-set includes 4 molecules that can be simulated, and the tests can be run in single or multiprocessor modes.

    The molecular-dynamics test suite runs 4 tests from the md-gromacs test-set at present. 2 single and 2 multiprocessor.

    Notes:
    * This version still appears to have a bug in its result parsing. Sometimes the parser doesn't read (or doesn't actually get passed) the results. The tests run 3 times each, so even with this bug you should at least get 1 result back.
    * The software used requires a fortran compiler. I'm not sure how to add that the the prerequisites of the tests.

    Link to v0.1 of this test-set/suite: http://fire-salamander.co.uk/pts-tes...cs-0.1.tar.bz2

  • #2
    Originally posted by uncle_fungus View Post
    * The software used requires a fortran compiler. I'm not sure how to add that the the prerequisites of the tests.
    This is how:



    The profile ExternalDependencies just then needs to mention fortran-compiler.

    Right now though only Ubuntu (and generic) support for external dependencies.

    I'll push your code up shortly, thanks!
    Michael Larabel
    https://www.michaellarabel.com/

    Comment


    • #3
      Originally posted by uncle_fungus View Post
      I
      Notes:
      * This version still appears to have a bug in its result parsing. Sometimes the parser doesn't read (or doesn't actually get passed) the results. The tests run 3 times each, so even with this bug you should at least get 1 result back
      I believe I know the bug in your test profile. I'll look into it tomorrow (morning) / a fix. Much too tired right now.

      Your scripts though should now be in the git tree.
      Michael Larabel
      https://www.michaellarabel.com/

      Comment


      • #4
        Thanks Michael!

        I've noticed a typo in the md-gromacs test profile though:
        Code:
        --- a/md-gromacs.xml    2008-05-07 07:03:54.000000000 +0100
        +++ b/md-gromacs.xml    2008-05-07 06:36:42.000000000 +0100
        @@ -17,7 +17,7 @@
                 <ResultScale>Gflops</ResultScale>
                 <Proportion>HIB</Proportion>
                 <Description>This test runs a series of molecular dynamics simulations using the GROMACS MD package. This benchmark 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 Folding@home distributed computing project.</Description>
        -        <ExxternalDependencies>build-utilities</ExternalDependencies>
        +        <ExternalDependencies>build-utilities</ExternalDependencies>
             </TestInformation>
             <TestSettings>
                 <Option>

        Comment


        • #5
          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.
          Michael Larabel
          https://www.michaellarabel.com/

          Comment


          • #6
            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

            Comment


            • #7
              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?
              Michael Larabel
              https://www.michaellarabel.com/

              Comment


              • #8
                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.

                Comment


                • #9
                  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?
                  Michael Larabel
                  https://www.michaellarabel.com/

                  Comment


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

                    Comment

                    Working...
                    X