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 54 Seconds
Average Run Time 49 Seconds
Test Dependencies Python
Accolades 10k+ 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 2024.04 2024.05 2024.06 2024.07 2024.08 2024.09 2024.10 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 6 October 2024.
JAX 14.9% Numba 17.3% Aesara 17.1% TensorFlow 7.5% PyTorch 15.8% Numpy 27.5% Backend Option Popularity OpenBenchmarking.org
1048576 20.0% 16384 16.3% 262144 18.0% 65536 17.3% 4194304 28.4% 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: Numpy - Project Size: 16384 - 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: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: Numpy - Project Size: 262144 - 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: 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: PyTorch - Project Size: 4194304 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: JAX - 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: 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: 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: 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: Numba - Project Size: 262144 - Benchmark: Isoneutral Mixing pts/pyhpc-3.0.x - Device: CPU - Backend: Numba - Project Size: 262144 - Benchmark: Equation of State pts/pyhpc-3.0.x - Device: CPU - Backend: JAX - Project Size: 16384 - Benchmark: Isoneutral Mixing 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: 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: 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: 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: JAX - 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 548 public results since 28 October 2021 with the latest data as of 25 September 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 548 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 80 160 240 320 400
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.49 / 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 12 14 16 64 128 0.7208 1.4416 2.1624 2.8832 3.604
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
2 Systems - 21 Benchmark Results
Intel Xeon E3-1225 v5 - Dell PowerEdge T30 07T4MC - Intel Xeon E3-1200 v5
Ubuntu 20.04 - 5.4.0-190-generic - OpenCL 1.2 pocl 1.4 +Asserts LLVM 9.0.1 RELOC SLEEF DISTRO POCL_DEBUG
3 Systems - 9 Benchmark Results
Intel Core 2 Duo E8400 - Dell OptiPlex 780 0200DY - Intel 4 DRAM + ICH10DO
Ubuntu 24.04 - 6.8.0-38-generic - LXQt 1.4.0
1 System - 275 Benchmark Results
Intel Core i5-12500 - ASUS PRIME Z690M-HZ - Intel Alder Lake-S PCH
Debian 12 - 6.1.0-21-amd64 - GCC 12.2.0
3 Systems - 209 Benchmark Results
AMD Ryzen 9 3900X 12-Core - MSI X570-A PRO - AMD Starship
Ubuntu 23.10 - 6.5.0-9-generic - X Server 1.21.1.7
Featured Graphics Comparison
Featured Graphics Comparison