Announcement

Collapse
No announcement yet.

New profile: stresscpu2

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

  • New profile: stresscpu2

    This test is designed specifically to stress modern CPUs. It is based around tight GROMACS inner loops, which are hand coded in assembly for SSE. This is a pass/fail test, but there are 3 possible outcomes:
    1) The test passes, your system is stable.
    2) The test fails due to a heat induced math error, your system is unstable.
    3) The test causes your computer to lockup or reboot, your system is very unstable.

    This test has been used for years by Folding@home supporters to test machine stability, as if a machine can't run stresscpu, it certainly can't run Folding@home's custom GROMACS code.

    Code:
    diff --git a/pts/test-profiles/stresscpu2.xml b/pts/test-profiles/stresscpu2.xml
    new file mode 100644
    index 0000000..8645ff1
    --- /dev/null
    +++ b/pts/test-profiles/stresscpu2.xml
    @@ -0,0 +1,52 @@
    +<PhoronixTestSuite>
    +    <TestProfile>
    +        <Version>0.9.0</Version>
    +        <TestType>Processor</TestType>
    +        <SoftwareType>Other</SoftwareType>
    +        <License>FREE</License>
    +        <Status>VERIFIED</Status>
    +        <Maintainer>Andrew Schofield</Maintainer>
    +        <DownloadSize>1</DownloadSize>
    +        <EnvironmentSize>2</EnvironmentSize>
    +    </TestProfile>
    +    <TestInformation>
    +        <Title>StressCPU2 Stress-Test</Title>
    +        <SubTitle>Tight GROMACS inner loops</SubTitle>
    +        <Version>2</Version>
    +        <TimesToRun>1</TimesToRun>
    +        <Executable>launch</Executable>
    +        <ResultScale>Stress Test</ResultScale>
    +        <ResultFormat>PASS_FAIL</ResultFormat>
    +        <Description>This test runs a series of GROMACS inner loops hand coded in assembly for speed and efficiency on SSE units. The short run lengths are only useful for heating up your CPU, for a proper test, use the 6 or 12 hour run length. This test will cause unstable hardware to stop responding and require a hard reboot.</Description>
    +        <ExternalDependencies></ExternalDependencies>
    +    </TestInformation>
    +    <TestSettings>
    +        <Option>
    +            <DisplayName>Run-time</DisplayName>
    +            <Identifier>runtime</Identifier>
    +            <ArgumentName></ArgumentName>
    +            <Menu>
    +                <Entry>
    +                    <Name>5 Minutes</Name>
    +                    <Value>00:05:00</Value>
    +                </Entry>
    +                <Entry>
    +                    <Name>30 Minutes</Name>
    +                    <Value>00:30:00</Value>
    +                </Entry>
    +                <Entry>
    +                    <Name>1 Hour</Name>
    +                    <Value>01:00:00</Value>
    +                </Entry>
    +                <Entry>
    +                    <Name>6 Hours</Name>
    +                    <Value>06:00:00</Value>
    +                </Entry>
    +                <Entry>
    +                    <Name>12 Hours</Name>
    +                    <Value>12:00:00</Value>
    +                </Entry>
    +            </Menu>
    +        </Option>
    +    </TestSettings>
    +</PhoronixTestSuite>
    diff --git a/pts/test-resources/stresscpu2/downloads.xml b/pts/test-resources/stresscpu2/downloads.xml
    new file mode 100644
    index 0000000..e66032e
    --- /dev/null
    +++ b/pts/test-resources/stresscpu2/downloads.xml
    @@ -0,0 +1,9 @@
    +<PhoronixTestSuite>
    +    <Downloads>
    +        <Package>
    +            <URL>http://fire-salamander.co.uk/pts-tests/stresscpu2.php</URL>
    +            <MD5>3c8dc3e9603ec925cc47ad92b9e7dd6c</MD5>
    +            <FileName>stresscpu2.tgz</FileName>
    +        </Package>
    +    </Downloads>
    +</PhoronixTestSuite>
    diff --git a/pts/test-resources/stresscpu2/install.sh b/pts/test-resources/stresscpu2/install.sh
    new file mode 100644
    index 0000000..c9b7ac6
    --- /dev/null
    +++ b/pts/test-resources/stresscpu2/install.sh
    @@ -0,0 +1,16 @@
    +#!/bin/sh
    +
    +tar xvf stresscpu2.tgz
    +
    +cat> launch <<'EOT'
    +#!/bin/sh
    +case `uname -m` in
    +    x86_64 | amd64)
    +    stresscpu2/stresscpu2_linux64 -t $@ | grep ERROR
    +    ;;
    +    i?86 | i86*)
    +    stresscpu2/stresscpu2_linux32 -t $@ | grep ERROR
    +    ;;
    +esac
    +EOT
    +chmod +x launch
    diff --git a/pts/test-resources/stresscpu2/parse-results.php b/pts/test-resources/stresscpu2/parse-results.php
    new file mode 100644
    index 0000000..f9bff31
    --- /dev/null
    +++ b/pts/test-resources/stresscpu2/parse-results.php
    @@ -0,0 +1,8 @@
    +<?php
    +
    +if ("" == $argv[1])
    +    echo "PASS";
    +else
    +    echo "FAIL";
    +
    +?>
    Refs: http://www.gromacs.org/component/opt...etails/gid,80/

  • #2
    In git, thanks. Also made it utilize SupportedArchitectures tag and $OS_ARCH in the install script.
    Michael Larabel
    http://www.michaellarabel.com/

    Comment

    Working...
    X