PyHPC Benchmarks PyHPC-Benchmarks is a suite of Python high performance computing benchmarks for execution on CPUs and GPUs using various popular Python HPC libraries. The PyHPC CPU-based benchmarks focus on sequential CPU performance.
To run this test with the Phoronix Test Suite , the basic command is: phoronix-test-suite benchmark pyhpc .
Test Created 22 October 2021
Last Updated 28 October 2021
Test Type System
Average Install Time 2 Minutes, 42 Seconds
Average Run Time 49 Seconds
Test Dependencies Python
Accolades 5k+ Downloads Public Result Uploads * Reported Installs ** Reported Test Completions ** Test Profile Page Views OpenBenchmarking.org Events PyHPC Benchmarks Popularity Statistics pts/pyhpc 2021.10 2021.11 2021.12 2022.01 2022.02 2022.03 2022.04 2022.05 2022.06 2022.07 2022.08 2022.09 2022.10 2022.11 2022.12 2023.01 2023.02 2023.03 2023.04 2023.05 2023.06 2023.07 2023.08 2023.09 2023.10 2023.11 2023.12 2024.01 2024.02 2024.03 6K 12K 18K 24K 30K
* 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 18 March 2024.
JAX 15.1% Numba 17.3% Aesara 17.1% TensorFlow 7.5% PyTorch 15.8% Numpy 27.1% Backend Option Popularity OpenBenchmarking.org
1048576 20.0% 16384 16.2% 262144 18.0% 65536 17.3% 4194304 28.5% Project Size Option Popularity OpenBenchmarking.org
Isoneutral Mixing 47.5% Equation of State 52.5% Benchmark Option Popularity OpenBenchmarking.org
Revision Historypts/pyhpc-3.0.0 [View Source ] Thu, 28 Oct 2021 15:13:30 GMT Update against upstream PyHPC 3.0.
pts/pyhpc-1.0.0 [View Source ] Fri, 22 Oct 2021 15:05:19 GMT Initial commit of PyHPC-Benchmarks.
Performance MetricsAnalyze Test Configuration: pts/pyhpc-3.0.x - Device: CPU - Backend: Numpy - Project Size: 4194304 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: Numpy - Project Size: 4194304 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: Numpy - Project Size: 1048576 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: Numpy - Project Size: 1048576 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: Numba - Project Size: 4194304 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: Aesara - Project Size: 4194304 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: Numba - Project Size: 4194304 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: Aesara - Project Size: 4194304 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: PyTorch - Project Size: 4194304 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: Numpy - Project Size: 16384 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: Numpy - Project Size: 16384 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: TensorFlow - Project Size: 4194304 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: Numpy - Project Size: 262144 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: Numpy - Project Size: 262144 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: Numpy - Project Size: 65536 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: Numpy - Project Size: 65536 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: JAX - Project Size: 4194304 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: PyTorch - Project Size: 4194304 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: JAX - Project Size: 4194304 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: PyTorch - Project Size: 1048576 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: PyTorch - Project Size: 1048576 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: JAX - Project Size: 1048576 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: JAX - Project Size: 1048576 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: Numba - Project Size: 1048576 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: Numba - Project Size: 1048576 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: Aesara - Project Size: 16384 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: Aesara - Project Size: 16384 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: Aesara - Project Size: 1048576 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: Aesara - Project Size: 1048576 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: Numba - Project Size: 16384 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: Numba - Project Size: 16384 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: JAX - Project Size: 16384 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: Numba - Project Size: 262144 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: JAX - Project Size: 262144 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: JAX - Project Size: 262144 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: Numba - Project Size: 262144 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: PyTorch - Project Size: 262144 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: PyTorch - Project Size: 16384 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: PyTorch - Project Size: 262144 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: Aesara - Project Size: 262144 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: Aesara - Project Size: 262144 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: Numba - Project Size: 65536 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: Numba - Project Size: 65536 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: JAX - Project Size: 65536 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: Aesara - Project Size: 65536 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: Aesara - Project Size: 65536 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: PyTorch - Project Size: 65536 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: PyTorch - Project Size: 65536 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: TensorFlow - Project Size: 1048576 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: TensorFlow - Project Size: 262144 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: JAX - Project Size: 65536 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: TensorFlow - Project Size: 16384 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: TensorFlow - Project Size: 65536 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: PyTorch - Project Size: 16384 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: JAX - Project Size: 16384 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: Numpy - Project Size: 4194304 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: Numba - Project Size: 4194304 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: Numba - Project Size: 4194304 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: Numba - Project Size: 1048576 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: Numba - Project Size: 1048576 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: Numpy - Project Size: 1048576 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: Numpy - Project Size: 262144 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: Numpy - Project Size: 262144 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: PyTorch - Project Size: 4194304 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: Numpy - Project Size: 4194304 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: JAX - Project Size: 1048576 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: Numba - Project Size: 262144 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: JAX - Project Size: 4194304 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: Numpy - Project Size: 1048576 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: JAX - Project Size: 262144 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: Numpy - Project Size: 65536 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: JAX - Project Size: 262144 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: JAX - Project Size: 1048576 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: Numpy - Project Size: 65536 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: Numba - Project Size: 262144 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: JAX - Project Size: 4194304 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: Numpy - Project Size: 16384 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: Numpy - Project Size: 16384 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: JAX - Project Size: 65536 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: Numba - Project Size: 65536 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: Numba - Project Size: 16384 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: Numba - Project Size: 65536 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: JAX - Project Size: 16384 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: Numba - Project Size: 16384 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: PyTorch - Project Size: 1048576 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: PyTorch - Project Size: 4194304 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: PyTorch - Project Size: 262144 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: PyTorch - Project Size: 1048576 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: Theano - Project Size: 1048576 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: Theano - Project Size: 262144 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: Theano - Project Size: 262144 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: Theano - Project Size: 4194304 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: Theano - Project Size: 1048576 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: PyTorch - Project Size: 262144 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: TensorFlow - Project Size: 262144 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: TensorFlow - Project Size: 1048576 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: TensorFlow - Project Size: 4194304 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: Theano - Project Size: 4194304 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: Theano - Project Size: 16384 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: Theano - Project Size: 16384 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: PyTorch - Project Size: 65536 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: Theano - Project Size: 65536 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: PyTorch - Project Size: 65536 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: PyTorch - Project Size: 16384 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: Theano - Project Size: 65536 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: TensorFlow - Project Size: 65536 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: TensorFlow - Project Size: 16384 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: JAX - Project Size: 65536 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: Bohrium - Project Size: 1048576 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: Bohrium - Project Size: 262144 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: Bohrium - Project Size: 4194304 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: Bohrium - Project Size: 262144 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: Bohrium - Project Size: 1048576 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: Bohrium - Project Size: 4194304 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: Bohrium - Project Size: 65536 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: Bohrium - Project Size: 16384 - Benchmark: Equation of State pts/pyhpc-1.0.x - Device: CPU - Backend: Bohrium - Project Size: 65536 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: Bohrium - Project Size: 16384 - Benchmark: Isoneutral Mixing pts/pyhpc-1.0.x - Device: CPU - Backend: PyTorch - Project Size: 16384 - Benchmark: Equation of State PyHPC Benchmarks 3.0 Device: CPU - Backend: Numpy - Project Size: 4194304 - Benchmark: Equation of State OpenBenchmarking.org metrics for this test profile configuration based on 538 public results since 28 October 2021 with the latest data as of 18 February 2024 .
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
Seconds (Average)
OpenBenchmarking.org Distribution Of Public Results - Device: CPU - Backend: Numpy - Project Size: 4194304 - Benchmark: Equation of State 538 Results Range From 0 To 11 Seconds 0.917 1.834 2.751 3.668 4.585 5.502 6.419 7.336 8.253 9.17 10.087 11.004 70 140 210 280 350
Based on OpenBenchmarking.org data, the selected test / test configuration (PyHPC Benchmarks 3.0 - Device: CPU - Backend: Numpy - Project Size: 4194304 - Benchmark: Equation of State ) has an average run-time of 3 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 Device: CPU - Backend: Numpy - Project Size: 4194304 - Benchmark: Equation of State Run-Time 3 6 9 12 15 Min: 1 / Avg: 2.43 / Max: 10
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 Device: CPU - Backend: Numpy - Project Size: 4194304 - Benchmark: Equation of State Deviation 2 4 6 8 10 Min: 0 / Avg: 0.08 / Max: 2
Does It Scale Well With Increasing Cores? No , based on the automated analysis of the collected public benchmark data, this test / test settings does not generally scale well with increasing CPU core counts. Data based on publicly available results for this test / test settings, separated by vendor, result divided by the reference CPU clock speed, grouped by matching physical CPU core count, and normalized against the smallest core count tested from each vendor for each CPU having a sufficient number of test samples and statistically significant data.
Intel AMD OpenBenchmarking.org Relative Core Scaling To Base PyHPC Benchmarks CPU Core Scaling Device: CPU - Backend: Numpy - Project Size: 4194304 - Benchmark: Equation of State 4 6 8 12 14 16 64 128 0.7042 1.4084 2.1126 2.8168 3.521
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)
ARMv8 64-bit
arm64
Apple M1
ARMv8 64-bit
aarch64
ARMv8 Cortex-A78E 12-Core, ARMv8 Neoverse-N1, ARMv8 Neoverse-V1, Ampere ARMv8 Neoverse-N1 128-Core, Ampere ARMv8 Neoverse-N1 256-Core, Ampere eMAG ARMv8 32-Core, Apple M1, Apple M2
Recent Test Results
5 Systems - 587 Benchmark Results
Intel Core i9-14900K - ASUS PRIME Z790-P WIFI - Intel Raptor Lake-S PCH
Ubuntu 23.10 - 6.7.3-060703-generic - GNOME Shell 45.2
1 System - 1253 Benchmark Results
1 System - 60 Benchmark Results
ARMv8 Cortex-A78E - EDK II 2.1-32413640 - 62GB
Ubuntu 20.04 - 5.10.104-tegra - GNOME Shell 3.36.9
1 System - 862 Benchmark Results
1 System - 82 Benchmark Results
AMD Ryzen 7 7840U - Framework FRANMDCP07 - AMD Device 14e8
Ubuntu 23.10 - 6.7.0-060700rc5-generic - GNOME Shell 45.1
1 System - 145 Benchmark Results
Apple M2 Pro - Apple Mac mini - 16GB
macOS 13.5 - 22.6.0 - GCC 14.0.3 + Clang 17.0.6 + LLVM 17.0.6 + Xcode 14.3.1
1 System - 2 Benchmark Results
Intel Core i7-13800H - Dell - 32GB
Ubuntu 20.04 - 6.2.0-33-generic - X Server
1 System - 2 Benchmark Results
AMD Ryzen 7 5800H - CZ Scala_CAS - AMD Renoir
ManjaroLinux 23.0.4 - 6.5.5-1-MANJARO - KDE Plasma 5.27.8
1 System - 12 Benchmark Results
Intel Core i5-4570 - Dell 04YP6J - Intel 4th Gen Core DRAM
ManjaroLinux 23.0.4 - 6.5.5-1-MANJARO - KDE Plasma 5.27.8
1 System - 10 Benchmark Results
Intel Core i5-4570 - Dell 04YP6J - Intel 4th Gen Core DRAM
ManjaroLinux 23.0.4 - 6.5.5-1-MANJARO - KDE Plasma 5.27.8
1 System - 126 Benchmark Results
Intel Core i7-1260P - Intel NUC12WSBi7 - Intel Alder Lake PCH
Ubuntu 22.04 - 6.5.5-pve-v4-realtime-rt8 - GNOME Shell 42.9
1 System - 543 Benchmark Results
AMD Ryzen Threadripper PRO 5995WX 64-Cores - ASRock WRX80 Creator - AMD Starship
Ubuntu 22.04 - 6.2.0-33-generic - GNOME Shell 42.9