HeFFTe - Highly Efficient FFT for Exascale HeFFTe is the Highly Efficient FFT for Exascale software developed as part of the Exascale Computing Project. This test profile uses HeFFTe's built-in speed benchmarks under a variety of configuration options and currently catering to CPU/processor testing.
To run this test with the Phoronix Test Suite , the basic command is: phoronix-test-suite benchmark heffte .
Test Created 18 June 2023
Last Updated 27 October 2023
Test Type Processor
Average Install Time 49 Seconds
Average Run Time 1 Minute, 9 Seconds
Test Dependencies C/C++ Compiler Toolchain + Fortran + OpenMPI + CMake + FFTW
Accolades 10k+ Downloads Public Result Uploads * Reported Installs ** Reported Test Completions ** Test Profile Page Views OpenBenchmarking.org Events HeFFTe - Highly Efficient FFT for Exascale Popularity Statistics pts/heffte 2023.06 2023.07 2023.08 2023.09 2023.10 2023.11 2023.12 2024.01 2024.02 2024.03 2024.04 2024.05 800 1600 2400 3200 4000
* Uploading of benchmark result data to OpenBenchmarking.org is always optional (opt-in) via the Phoronix Test Suite for users wishing to share their results publicly. ** Data based on those opting to upload their test results to OpenBenchmarking.org and users enabling the opt-in anonymous statistics reporting while running benchmarks from an Internet-connected platform. Data updated weekly as of 7 May 2024.
c2c 49.5% r2c 50.5% Test Option Popularity OpenBenchmarking.org
Stock 48.7% FFTW 51.3% Backend Option Popularity OpenBenchmarking.org
double 25.6% float 27.6% double-long 23.0% float-long 23.8% Precision Option Popularity OpenBenchmarking.org
128 32.1% 256 31.6% 1024 7.1% 512 29.3% X Y Z Option Popularity OpenBenchmarking.org
Revision Historypts/heffte-1.1.0 [View Source ] Fri, 27 Oct 2023 15:16:02 GMT Update against HeFFTe 2.4 upstream.
pts/heffte-1.0.0 [View Source ] Sun, 18 Jun 2023 09:51:50 GMT Initial commit of HeFFTe benchmark.
Performance MetricsAnalyze Test Configuration: pts/heffte-1.1.x - Test: c2c - Backend: FFTW - Precision: float - X Y Z: 128 pts/heffte-1.1.x - Test: r2c - Backend: FFTW - Precision: float - X Y Z: 128 pts/heffte-1.1.x - Test: c2c - Backend: FFTW - Precision: float - X Y Z: 256 pts/heffte-1.1.x - Test: c2c - Backend: FFTW - Precision: float - X Y Z: 512 pts/heffte-1.1.x - Test: r2c - Backend: FFTW - Precision: double - X Y Z: 128 pts/heffte-1.1.x - Test: r2c - Backend: FFTW - Precision: float - X Y Z: 256 pts/heffte-1.1.x - Test: c2c - Backend: FFTW - Precision: double - X Y Z: 128 pts/heffte-1.1.x - Test: c2c - Backend: FFTW - Precision: double - X Y Z: 256 pts/heffte-1.1.x - Test: r2c - Backend: FFTW - Precision: double - X Y Z: 256 pts/heffte-1.1.x - Test: r2c - Backend: Stock - Precision: float - X Y Z: 128 pts/heffte-1.1.x - Test: c2c - Backend: Stock - Precision: float - X Y Z: 128 pts/heffte-1.1.x - Test: r2c - Backend: FFTW - Precision: float - X Y Z: 512 pts/heffte-1.1.x - Test: c2c - Backend: Stock - Precision: float - X Y Z: 256 pts/heffte-1.1.x - Test: r2c - Backend: FFTW - Precision: double - X Y Z: 512 pts/heffte-1.1.x - Test: r2c - Backend: Stock - Precision: float - X Y Z: 256 pts/heffte-1.1.x - Test: c2c - Backend: Stock - Precision: double - X Y Z: 128 pts/heffte-1.1.x - Test: c2c - Backend: Stock - Precision: double - X Y Z: 256 pts/heffte-1.1.x - Test: r2c - Backend: Stock - Precision: double - X Y Z: 128 pts/heffte-1.1.x - Test: r2c - Backend: Stock - Precision: double - X Y Z: 256 pts/heffte-1.1.x - Test: c2c - Backend: Stock - Precision: float - X Y Z: 512 pts/heffte-1.1.x - Test: r2c - Backend: Stock - Precision: float - X Y Z: 512 pts/heffte-1.1.x - Test: r2c - Backend: Stock - Precision: double - X Y Z: 512 pts/heffte-1.1.x - Test: r2c - Backend: Stock - Precision: double-long - X Y Z: 512 pts/heffte-1.1.x - Test: r2c - Backend: Stock - Precision: float-long - X Y Z: 512 pts/heffte-1.1.x - Test: r2c - Backend: FFTW - Precision: float-long - X Y Z: 256 pts/heffte-1.1.x - Test: c2c - Backend: Stock - Precision: float-long - X Y Z: 512 pts/heffte-1.1.x - Test: r2c - Backend: FFTW - Precision: double-long - X Y Z: 256 pts/heffte-1.1.x - Test: c2c - Backend: FFTW - Precision: double-long - X Y Z: 128 pts/heffte-1.1.x - Test: r2c - Backend: Stock - Precision: double-long - X Y Z: 128 pts/heffte-1.1.x - Test: c2c - Backend: Stock - Precision: double-long - X Y Z: 128 pts/heffte-1.1.x - Test: c2c - Backend: FFTW - Precision: double-long - X Y Z: 256 pts/heffte-1.1.x - Test: r2c - Backend: FFTW - Precision: float-long - X Y Z: 512 pts/heffte-1.1.x - Test: c2c - Backend: Stock - Precision: float-long - X Y Z: 128 pts/heffte-1.1.x - Test: r2c - Backend: Stock - Precision: double-long - X Y Z: 256 pts/heffte-1.1.x - Test: r2c - Backend: FFTW - Precision: double-long - X Y Z: 512 pts/heffte-1.1.x - Test: r2c - Backend: Stock - Precision: float-long - X Y Z: 128 pts/heffte-1.1.x - Test: c2c - Backend: FFTW - Precision: float-long - X Y Z: 512 pts/heffte-1.1.x - Test: c2c - Backend: FFTW - Precision: float-long - X Y Z: 256 pts/heffte-1.1.x - Test: c2c - Backend: FFTW - Precision: float-long - X Y Z: 128 pts/heffte-1.1.x - Test: r2c - Backend: FFTW - Precision: float-long - X Y Z: 128 pts/heffte-1.1.x - Test: r2c - Backend: Stock - Precision: float-long - X Y Z: 256 pts/heffte-1.1.x - Test: c2c - Backend: Stock - Precision: double-long - X Y Z: 256 pts/heffte-1.1.x - Test: r2c - Backend: FFTW - Precision: double-long - X Y Z: 128 pts/heffte-1.1.x - Test: c2c - Backend: Stock - Precision: float-long - X Y Z: 256 pts/heffte-1.1.x - Test: c2c - Backend: FFTW - Precision: double - X Y Z: 512 pts/heffte-1.1.x - Test: c2c - Backend: Stock - Precision: double - X Y Z: 512 pts/heffte-1.1.x - Test: c2c - Backend: FFTW - Precision: double-long - X Y Z: 512 pts/heffte-1.1.x - Test: c2c - Backend: Stock - Precision: double-long - X Y Z: 512 pts/heffte-1.0.x - Test: c2c - Backend: FFTW - Precision: double - X Y Z: 128 pts/heffte-1.0.x - Test: c2c - Backend: FFTW - Precision: float - X Y Z: 128 pts/heffte-1.0.x - Test: r2c - Backend: FFTW - Precision: float - X Y Z: 128 pts/heffte-1.0.x - Test: r2c - Backend: FFTW - Precision: double - X Y Z: 128 pts/heffte-1.0.x - Test: c2c - Backend: Stock - Precision: double - X Y Z: 128 pts/heffte-1.0.x - Test: r2c - Backend: Stock - Precision: float - X Y Z: 128 pts/heffte-1.0.x - Test: c2c - Backend: Stock - Precision: float - X Y Z: 128 pts/heffte-1.0.x - Test: r2c - Backend: Stock - Precision: double - X Y Z: 128 pts/heffte-1.0.x - Test: r2c - Backend: FFTW - Precision: double - X Y Z: 256 pts/heffte-1.0.x - Test: c2c - Backend: FFTW - Precision: float - X Y Z: 256 pts/heffte-1.0.x - Test: c2c - Backend: FFTW - Precision: double - X Y Z: 256 pts/heffte-1.0.x - Test: r2c - Backend: FFTW - Precision: float - X Y Z: 256 pts/heffte-1.0.x - Test: c2c - Backend: FFTW - Precision: float - X Y Z: 512 pts/heffte-1.0.x - Test: r2c - Backend: FFTW - Precision: float - X Y Z: 512 pts/heffte-1.0.x - Test: c2c - Backend: FFTW - Precision: double - X Y Z: 512 pts/heffte-1.0.x - Test: r2c - Backend: FFTW - Precision: double - X Y Z: 512 pts/heffte-1.0.x - Test: c2c - Backend: Stock - Precision: float - X Y Z: 256 pts/heffte-1.0.x - Test: r2c - Backend: Stock - Precision: double - X Y Z: 256 pts/heffte-1.0.x - Test: r2c - Backend: Stock - Precision: float - X Y Z: 256 pts/heffte-1.0.x - Test: c2c - Backend: Stock - Precision: double - X Y Z: 256 pts/heffte-1.0.x - Test: c2c - Backend: FFTW - Precision: double-long - X Y Z: 128 pts/heffte-1.0.x - Test: c2c - Backend: FFTW - Precision: float-long - X Y Z: 256 pts/heffte-1.0.x - Test: c2c - Backend: FFTW - Precision: double-long - X Y Z: 256 pts/heffte-1.0.x - Test: r2c - Backend: FFTW - Precision: float-long - X Y Z: 256 pts/heffte-1.0.x - Test: r2c - Backend: FFTW - Precision: double-long - X Y Z: 256 pts/heffte-1.0.x - Test: r2c - Backend: Stock - Precision: double-long - X Y Z: 256 pts/heffte-1.0.x - Test: c2c - Backend: Stock - Precision: float-long - X Y Z: 256 pts/heffte-1.0.x - Test: c2c - Backend: Stock - Precision: double-long - X Y Z: 256 pts/heffte-1.0.x - Test: c2c - Backend: FFTW - Precision: float-long - X Y Z: 128 pts/heffte-1.0.x - Test: r2c - Backend: Stock - Precision: double-long - X Y Z: 128 pts/heffte-1.0.x - Test: c2c - Backend: Stock - Precision: double-long - X Y Z: 128 pts/heffte-1.0.x - Test: r2c - Backend: FFTW - Precision: float-long - X Y Z: 128 pts/heffte-1.0.x - Test: r2c - Backend: Stock - Precision: float - X Y Z: 512 pts/heffte-1.0.x - Test: c2c - Backend: Stock - Precision: float-long - X Y Z: 128 pts/heffte-1.0.x - Test: r2c - Backend: Stock - Precision: float-long - X Y Z: 256 pts/heffte-1.0.x - Test: r2c - Backend: Stock - Precision: double - X Y Z: 512 pts/heffte-1.0.x - Test: c2c - Backend: Stock - Precision: float - X Y Z: 512 pts/heffte-1.0.x - Test: c2c - Backend: Stock - Precision: double - X Y Z: 512 pts/heffte-1.0.x - Test: r2c - Backend: FFTW - Precision: double-long - X Y Z: 128 pts/heffte-1.0.x - Test: r2c - Backend: Stock - Precision: float-long - X Y Z: 128 pts/heffte-1.0.x - Test: c2c - Backend: FFTW - Precision: double-long - X Y Z: 512 pts/heffte-1.0.x - Test: c2c - Backend: Stock - Precision: double-long - X Y Z: 512 pts/heffte-1.0.x - Test: r2c - Backend: FFTW - Precision: double-long - X Y Z: 512 pts/heffte-1.0.x - Test: r2c - Backend: FFTW - Precision: float-long - X Y Z: 512 pts/heffte-1.0.x - Test: r2c - Backend: Stock - Precision: double-long - X Y Z: 512 pts/heffte-1.0.x - Test: c2c - Backend: FFTW - Precision: float-long - X Y Z: 512 pts/heffte-1.0.x - Test: c2c - Backend: Stock - Precision: float-long - X Y Z: 512 pts/heffte-1.0.x - Test: r2c - Backend: Stock - Precision: float-long - X Y Z: 512 HeFFTe - Highly Efficient FFT for Exascale 2.4 Test: r2c - Backend: Stock - Precision: float - X Y Z: 128 OpenBenchmarking.org metrics for this test profile configuration based on 64 public results since 27 October 2023 with the latest data as of 26 November 2023 .
Below is an overview of the generalized performance for components where there is sufficient statistically significant data based upon user-uploaded results. It is important to keep in mind particularly in the Linux/open-source space there can be vastly different OS configurations, with this overview intended to offer just general guidance as to the performance expectations.
Component
Percentile Rank
# Compatible Public Results
GFLOP/s (Average)
OpenBenchmarking.org Distribution Of Public Results - Test: r2c - Backend: Stock - Precision: float - X Y Z: 128 64 Results Range From 3 To 182 GFLOP/s 3 16 29 42 55 68 81 94 107 120 133 146 159 172 185 3 6 9 12 15
Based on OpenBenchmarking.org data, the selected test / test configuration (HeFFTe - Highly Efficient FFT for Exascale 2.4 - Test: r2c - Backend: Stock - Precision: float - X Y Z: 128 ) has an average run-time of 2 minutes . By default this test profile is set to run at least 3 times but may increase if the standard deviation exceeds pre-defined defaults or other calculations deem additional runs necessary for greater statistical accuracy of the result.
OpenBenchmarking.org Minutes Time Required To Complete Benchmark Test: r2c - Backend: Stock - Precision: float - X Y Z: 128 Run-Time 2 4 6 8 10 Min: 1 / Avg: 1 / Max: 1
Based on public OpenBenchmarking.org results, the selected test / test configuration has an average standard deviation of 0.1% .
OpenBenchmarking.org Percent, Fewer Is Better Average Deviation Between Runs Test: r2c - Backend: Stock - Precision: float - X Y Z: 128 Deviation 2 4 6 8 10 Min: 0 / Avg: 0.1 / Max: 1
Tested CPU Architectures This benchmark has been successfully tested on the below mentioned architectures. The CPU architectures listed is where successful OpenBenchmarking.org result uploads occurred, namely for helping to determine if a given test is compatible with various alternative CPU architectures.
CPU Architecture
Kernel Identifier
Verified On
Intel / AMD x86 64-bit
x86_64
(Many Processors)
Loongson LoongArch 64-bit
loongarch64
Loongson-3A6000
Recent Test Results
1 System - 1 Benchmark Result
2 x Intel Xeon E5-2699 v4 - Supermicro X10DRL-i v1.01 - Intel Xeon E7 v4
Ubuntu 22.04 - 6.5.0-21-generic - X Server 1.21.1.4
1 System - 494 Benchmark Results
1 System - 4 Benchmark Results
Loongson-3A6000 - Loongson Loongson-LS3A6000-7A2000-1w-EVB-V1.21 - Loongson LLC Hyper Transport Bridge
Loongnix 20 - 4.19.0-19-loongson-3 - X Server 1.20.4
1 System - 7 Benchmark Results
Loongson-3A6000 - Loongson Loongson-LS3A6000-7A2000-1w-EVB-V1.21 - Loongson LLC Hyper Transport Bridge
Loongnix 20 - 4.19.0-19-loongson-3 - X Server 1.20.4
1 System - 64 Benchmark Results
AMD EPYC 7R13 48-Core - Supermicro H12SSL-I v1.02 - AMD Starship
EndeavourOS rolling - 6.6.1-zen1-1-zen - Xfce 4.18