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, 22 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 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 4 December 2023.
JAX 15.2% Numba 17.4% Aesara 17.3% TensorFlow 7.6% PyTorch 16.0% Numpy 26.5% Backend Option Popularity OpenBenchmarking.org
1048576 20.2% 16384 16.4% 262144 18.1% 65536 17.4% 4194304 27.9% Project Size Option Popularity OpenBenchmarking.org
Isoneutral Mixing 47.4% Equation of State 52.6% 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 497 public results since 28 October 2021 with the latest data as of 3 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
Seconds (Average)
OpenBenchmarking.org Distribution Of Public Results - Device: CPU - Backend: Numpy - Project Size: 4194304 - Benchmark: Equation of State 497 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 4 8 12 16 20 Min: 1 / Avg: 2.44 / Max: 13
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 64 128 0.6979 1.3958 2.0937 2.7916 3.4895
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 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
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
1 System - 24 Benchmark Results
Intel Core i7-12700K - Dell 0N0992 - Intel Device 7aa7
Ubuntu 22.04 - 6.2.0-26-generic - GNOME Shell 42.9
1 System - 146 Benchmark Results
Intel Xeon Platinum 8488C - Amazon EC2 m7i-flex.large - Intel 440FX 82441FX PMC
Ubuntu 22.04 - 5.19.0-1029-aws - 1.3.238
1 System - 139 Benchmark Results
2 x AMD EPYC 9654 96-Core - HPE ProLiant DL385 Gen11 - AMD Device 14a4
Ubuntu 22.04 - 5.19.0-50-generic - GNOME Shell 42.9
1 System - 139 Benchmark Results
2 x AMD EPYC 9654 96-Core - HPE ProLiant DL385 Gen11 - AMD Device 14a4
Ubuntu 22.04 - 5.19.0-50-generic - GNOME Shell 42.9
1 System - 250 Benchmark Results
AMD EPYC 9684X 96-Core - AMD Titanite_4G - AMD Device 14a4
Ubuntu 22.04 - 5.19.0-41-generic - GNOME Shell 42.5