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.
Refs: http://www.gromacs.org/component/opt...etails/gid,80/
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"; + +?>
Comment