FIRESTARTER: A Processor Stress Test Utility
[short link to this page: http://tu-dresden.de/zih/firestarter/ ]
FIRESTARTER is a handy utility for infrastructure specialists, thermal engineers, system administrators, and computer scientists that aims at creating near-peak power consumption on standard compute nodes. It can be used for tests of cooling and power infrastructures, system stability test, or as a maximum power consumption baseline for application energy efficiency studies.
While in different research areas tools such as LINPACK and Prime95 are commonly used, these tools are just highly optimized and compute intense routines that solve specific computational problems. As stress test utilities they are unnecessarily hard to use and in many cases unreliable in terms of power consumption maximization. FIRESTARTER is a simple yet versatile Open Source tool that reliably exceeds the power consumption of other stress tests and creates very steady power consumption patterns.
FIRESTARTER is currently only available for the Linux operating system. It currently supports Intel x86_64 processors (optimized since the Nehalem generation), AMD processors (optimized since the Bulldozer 15h family), and NVIDIA and Intel GPUs. FIRESTARTER stresses the most important power consumers of compute nodes: CPU (cores + uncore componenents such as caches), GPUs, and main memory.
Since version 2.0, FIRESTARTER also features an automatic tuning option that allows you to create an optimized version for your specific x86_64 system and its particular combination of core count, frequency, and memory bandwidth using evolutionary algorithms and integrated measurements of power and other metrics.
Links and Downloads
- We develop and maintain the FIRESTARTER source code in a github repository. The source code along with precompiled executables are available here Contributions are welcome!
- For questions and comments please contact us via e-mail.
Publications
- FIRESTARTER 2: Dynamic Code Generation for Processor Stress Tests (Energy Efficient HPC State of the Practice Workshop 2021)
- Energy Efficiency Features of the Intel Skylake-SP Processor and Their Impact on Performance (HPBench 2019)
- An Energy Efficiency Feature Survey of the Intel Haswell Processor (HP-PAC 2015)
- Introducing FIRESTARTER: A processor stress test utility (IGCC 2013)
Results from Test Systems
Linpack (problem size) |
FIRESTARTER |
FIRESTARTER (trained) |
|
---|---|---|---|
1x Intel Core i9-12900K (Alder Lake, 8+8 cores, turbo active) | 314 W (32768) |
326 W (issue #37 fixed) | 343 W (*1) |
1x Intel Core i9-12900K (Alder Lake, 8 P-cores) | 123 W (45000) |
123 W | 135 W |
2x Intel Xeon E5-2650 v4 (Broadwell-EP, 2x12 cores, 2.2 GHz) + 1x Nvidia Tesla K40 +1x P100 + 1x V100 |
1151 W (v1.7.2) | ||
2x Intel Xeon Gold 6148 (Skylake-SP, 2x20 cores, 2.4 GHz) | 528 W (80.000) |
528 W (v1.7) | |
1x Xeon Phi 7210 (Knights Landing, 1x 64 cores, 1.30 GHz) | 300 W (64.000) |
300 W (v1.5) | |
1x Intel Core i7-6700K (Skylake-H, 1x4 cores, 4.0 GHz) | max. 146 W (45.000) | 146.5 W (v1.4) | |
2x Intel Xeon E5-2680 v3 (Broadwell-EP) + 4x NVIDIA K80 | max. 1002 W (40.000) | 1072 W (v1.3) | |
Intel Xeon E5-2680 v3 (Haswell-EP, 2x12 cores, 2.5 GHz) | 442 W (80.000) | 459 W (v1.2) | |
AMD Opteron 6274 (Interlagos, 4 x 16 cores, 2,2 GHz) | 781 W (40.000) | 763 W (v1.2) | |
Intel Core i7-4770 (Haswell-H, 1x4 cores, 3.4 GHz) | 120 W (30.000) | 129 W (v1.1) | |
Intel Xeon CPU E5-2670 v2 (Ivy Bridge-EP, 2x10 cores, 2.5 GHz) | 318 W (45.000) | 351 W (v1.1) | |
Intel Xeon CPU E5-2670 (Sandy Bridge-EP, 2x8 cores, 2.6 GHz) | 332 W (45.000) | 377 W (v1.1) |
(*1): --run-instruction-groups=REG:98,L1_2LS_256:20,L2_L:6,L3_L:14,RAM_L:1
Unless stated otherwise, we deactivate the turbo mode for all measurements. On processors with a reduced base frequency for AVX workloads, turbo peaks can also occur at nominal frequency. In this case we report the average sustained power consumption after this peak.
Changelog
- for versions after 2.0 see here
- Version 2.0 (January 30th, 2021)
- added AMD Rome (Zen 2) support
- added macOS support and CUDA support on Windows
- automatic tuning option to better accommodate variations in core count, frequency, and memory bandwidth between different SKUs of one generation
- Version 1.7.4 (November 15th 2019)
- added AMD Zen and Zen+ support (ZEN_FMA)
- added CUDA 10 support
- Version 1.7.3 (March 4th 2019)
- FIRESTARTER_CUDA uses single precision by default when running on GPUs with poor double precision support and requires CUDA 8 or later, so FIRESTARTER_CUDA_LEGACY is provided for machines with CUDA 5-7 support.
- Version 1.7.2 (March 16th 2018)
- fixed several bugs, most of them in the CUDA part
- Version 1.7.1 (October 19th 2017)
- fixed Skylake-X problem in the Win64 version
- Version 1.7 (September 6th 2017)
- added Skylake-SP support
- Version 1.6 (April 13 2017)
- added Windows support
- released the source code generator on github
- Version 1.5 (November 13 2016)
- added Xeon Phi (Knights Landing) support (AVX512F)
- added error handling for restricted cpu sets for --bind and --threads options
- added memory bandwidth and FLOP/s counter (beta)
- Version 1.4 (April 19 2016)
- added support for Skylake-H (FMA)
- added support for Broadwell-E/EP (FMA)
- added automatic selection of fallback function for unsupported processors
- added parameters to manually select a code path and the number of threads
- Version 1.3 (October 30 2015)
- added support for Broadwell-H (FMA)
- added support for Nvidia GPUs (FIRESTARTER_CUDA)
- Version 1.2 (October 02 2014)
- added support for Haswell-E/EP (FMA)
- added preliminary support for AMD family 15h (FMA)
- Version 1.1 (May 21 2014)
- added support for Haswell-H (FMA)
- added support for Ivy Bridge-E/EP (AVX)
- improved support for Sandy Bridge-EP (AVX)
- added support for alternating load and idle periods
- fixed hardware detection issues with deactivated CPUs
- performed an appreciable amount of code maintenance
- Version 1.0 (June 19 2013)
- support for Sandy Bridge-H, Ivy Bridge-H (AVX)
- support for Sandy Bridge-EP (AVX)
- support for Nehalem, Westmere (SSE2)
Future Work:
- results verification (planned for 2.5)
- support for AArch64 (64 Bit ARM)
-
support Infiniband interconnects
ZIH Contact
Authors
- Robert Schöne
- Daniel Molka
- Daniel Hackenberg
Contributers
- Roland Oldenburg
- Matthias Richter
- Bernhard Hering
-
Barry Rountree
-
Marcel Achtert
-
Markus Schmidl