NAS Parallel Benchmarks

NPB, NAS Parallel Benchmarks, is a benchmark developed by NASA for high-end computer systems. This test profile currently uses the MPI version of NPB. This test profile offers selecting the different NPB tests/problems and varying problem sizes.

To run this test with the Phoronix Test Suite, the basic command is: phoronix-test-suite benchmark npb.

Project Site

nas.nasa.gov

Test Created

6 December 2010

Last Updated

14 October 2021

Test Maintainer

Michael Larabel 

Test Type

Processor

Average Install Time

44 Seconds

Average Run Time

1 Minute, 30 Seconds

Test Dependencies

C/C++ Compiler Toolchain + Fortran + OpenMPI

Accolades

250k+ Downloads + 5k+ Public Benchmark Results

Supported Platforms


Public Result Uploads *Reported Test Completions **Reported Installs **Test Profile Page Views ***OpenBenchmarking.orgEventsNAS Parallel Benchmarks Popularity Statisticspts/npb2010.122011.052011.102012.032012.082013.012013.062013.112014.042014.092015.022015.072015.122016.052016.102017.032017.082018.012018.062018.112019.042019.092020.022020.072020.122021.052021.102022.032022.082023.012023.062023.112024.0440K80K120K160K200K
* 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.
*** Test profile page view reporting began March 2021.
Data updated weekly as of 13 April 2024.
IS.D6.7%EP.C11.1%BT.C10.9%CG.C10.1%LU.C13.0%FT.C10.5%MG.C11.3%SP.C6.6%SP.B9.0%EP.D10.8%Test / Class Option PopularityOpenBenchmarking.org

Revision History

pts/npb-1.4.5   [View Source]   Thu, 14 Oct 2021 14:32:39 GMT
Pull in fixes from skeevy420. Fixes: https://github.com/phoronix-test-suite/phoronix-test-suite/pull/552

pts/npb-1.4.4   [View Source]   Sat, 22 May 2021 17:40:59 GMT
Add sp.c, adjust process count per https://www.phoronix.com/forums/forum/phoronix/phoronix-test-suite/1257554-how-to-enable-verbose-output#post1257618

pts/npb-1.4.2   [View Source]   Thu, 21 Jan 2021 12:22:20 GMT
Build fix for GCC 10 gfortran/

pts/npb-1.4.1   [View Source]   Sat, 07 Mar 2020 12:22:08 GMT
Add --alow-run-as-root, ended up being missed until now.

pts/npb-1.4.0   [View Source]   Wed, 28 Aug 2019 11:43:04 GMT
Update against upstream NPB 3.4, add new test cases.

pts/npb-1.3.1   [View Source]   Tue, 15 Jan 2019 11:37:52 GMT
Update against upstream NPB 3.1.1

pts/npb-1.3.0   [View Source]   Fri, 09 Nov 2018 12:39:01 GMT
Use physical core count rather than logical cores to avoid MPI breaking on high core count systems with SMT.

pts/npb-1.2.4   [View Source]   Sat, 09 Sep 2017 10:30:50 GMT
ft.B not ft.C size

pts/npb-1.2.3   [View Source]   Sat, 09 Sep 2017 10:15:47 GMT
Update MPI handling, add some larger test sizes

pts/npb-1.2.2   [View Source]   Thu, 25 Aug 2016 13:51:56 GMT
Update CFLAGS handling

pts/npb-1.2.1   [View Source]   Thu, 27 Nov 2014 18:42:33 GMT
MG.B and IS.D do not build / run properly on modern systems.

pts/npb-1.2.0   [View Source]   Tue, 05 Nov 2013 22:57:21 GMT
Working on new version of NPB test that makes use of some of the HPCC test profile MPI improvements and other multi-core/cluster work for better benchmarking. Seems to have MPI rank errors right now though for NPB on this build.

pts/npb-1.1.1   [View Source]   Sun, 10 Jun 2012 19:11:43 GMT
Remove tests not in MPI NPB version.

pts/npb-1.1.0   [View Source]   Sun, 10 Jun 2012 16:56:25 GMT
Switch to the MPI version of NPB benchmarks.

pts/npb-1.0.0   [View Source]   Mon, 06 Dec 2010 15:00:08 GMT
Initial import into OpenBenchmarking.org

Suites Using This Test

Multi-Core

HPC - High Performance Computing

CPU Massive

Server CPU Tests

MPI Benchmarks


Performance Metrics

Analyze Test Configuration:

NAS Parallel Benchmarks 3.4

Test / Class: SP.B

OpenBenchmarking.org metrics for this test profile configuration based on 1,759 public results since 28 August 2019 with the latest data as of 18 April 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
Total Mop/s (Average)
100th
9
227983 +/- 10114
100th
9
219164 +/- 4367
100th
5
204871 +/- 68
99th
9
177531 +/- 12073
99th
4
170233 +/- 425
98th
5
166667 +/- 15986
98th
5
166211 +/- 5685
98th
9
166068 +/- 1482
98th
25
165627 +/- 9119
97th
10
164197 +/- 3856
96th
24
158857 +/- 5494
92nd
33
143133 +/- 4839
92nd
18
142445 +/- 8006
92nd
15
139515 +/- 3263
89th
4
121021 +/- 9634
89th
4
119613 +/- 245
88th
24
118114 +/- 5780
87th
7
114330 +/- 319
87th
4
114159 +/- 1157
84th
4
105996 +/- 2061
84th
8
104388 +/- 3108
83rd
4
94967 +/- 856
82nd
6
90266 +/- 1172
82nd
3
90025 +/- 3461
81st
13
89864 +/- 1168
81st
19
89851 +/- 2227
79th
3
85365 +/- 85
79th
6
84669 +/- 1307
79th
7
82578 +/- 1131
79th
19
81909 +/- 10217
78th
14
78953 +/- 2256
78th
5
78084 +/- 1263
76th
19
70082 +/- 938
Mid-Tier
75th
< 69960
75th
16
69203 +/- 3602
74th
6
63841 +/- 2697
71st
16
49973 +/- 319
67th
3
42186 +/- 489
66th
3
38325 +/- 763
63rd
4
34965 +/- 246
62nd
3
33665 +/- 196
62nd
3
32588 +/- 162
57th
12
22300 +/- 1598
56th
11
22158 +/- 836
55th
4
21110 +/- 334
53rd
13
20083 +/- 1670
53rd
15
19722 +/- 1078
Median
50th
17150
50th
8
16509 +/- 75
49th
10
15680 +/- 420
49th
4
15431 +/- 11
45th
20
12817 +/- 168
43rd
7
12329 +/- 13
43rd
10
12311 +/- 69
42nd
8
12111 +/- 164
42nd
12
12063 +/- 169
40th
9
11468 +/- 1554
37th
31
9505 +/- 1379
36th
15
9130 +/- 1276
36th
11
8963 +/- 490
34th
16
8462 +/- 175
32nd
6
8078 +/- 308
31st
37
7883 +/- 178
29th
3
7433 +/- 75
29th
9
7386 +/- 28
28th
7
7165 +/- 144
27th
3
6910 +/- 36
27th
10
6784 +/- 345
26th
3
6249 +/- 217
26th
11
6091 +/- 608
Low-Tier
25th
< 6057
25th
12
5970 +/- 94
25th
7
5927 +/- 172
24th
6
5881 +/- 41
24th
8
5872 +/- 172
23rd
5
5790 +/- 89
23rd
8
5763 +/- 31
22nd
4
5710 +/- 140
21st
3
5494 +/- 119
21st
5
5431 +/- 42
21st
8
5413 +/- 25
20th
4
5374 +/- 38
20th
3
5295 +/- 317
19th
4
5281 +/- 32
19th
9
5268 +/- 91
19th
6
5230 +/- 126
19th
3
5215 +/- 55
18th
16
5136 +/- 16
18th
3
5127 +/- 10
17th
4
5030 +/- 15
17th
5
4992 +/- 23
16th
5
4835 +/- 417
15th
13
4692 +/- 57
14th
3
4578 +/- 14
14th
18
4484 +/- 25
13th
4
4395 +/- 10
12th
4
4273 +/- 58
11th
9
4206 +/- 24
11th
9
4154 +/- 285
11th
3
4094 +/- 167
10th
9
3554 +/- 31
10th
4
3553 +/- 66
9th
4
3531 +/- 149
8th
5
3374 +/- 48
7th
3
3119 +/- 15
7th
4
3031 +/- 20
7th
4
2889 +/- 4
6th
3
2808 +/- 6
6th
3
2585 +/- 18
5th
6
2446 +/- 47
4th
8
1803 +/- 3
3rd
3
1112 +/- 14
OpenBenchmarking.orgDistribution Of Public Results - Test / Class: SP.B1759 Results Range From 30 To 246273 Total Mop/s304955988014805197302465529580345053943044355492805420559130640556898073905788308375588680936059853010345510838011330511823012315512808013300513793014285514778015270515763016255516748017240517733018225518718019210519703020195520688021180521673022165522658023150523643024135524628080160240320400

Based on OpenBenchmarking.org data, the selected test / test configuration (NAS Parallel Benchmarks 3.4 - Test / Class: SP.B) 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.orgMinutesTime Required To Complete BenchmarkTest / Class: SP.BRun-Time1020304050Min: 1 / Avg: 2.6 / Max: 48

Based on public OpenBenchmarking.org results, the selected test / test configuration has an average standard deviation of 0.4%.

OpenBenchmarking.orgPercent, Fewer Is BetterAverage Deviation Between RunsTest / Class: SP.BDeviation246810Min: 0 / Avg: 0.35 / Max: 4

Does It Scale Well With Increasing Cores?

Yes, based on the automated analysis of the collected public benchmark data, this test / test settings does 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.

IntelAMDOpenBenchmarking.orgRelative Core Scaling To BaseNAS Parallel Benchmarks CPU Core ScalingTest / Class: SP.B2468121416243264961281020304050

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-3A5000LL
Intel / AMD x86 32-bit
i686
(Many Processors)
ARMv8 64-bit
aarch64
ARMv8 Cortex-A53 4-Core, ARMv8 Cortex-A57 4-Core, ARMv8 Cortex-A72 4-Core, ARMv8 Cortex-A76 4-Core, ARMv8 Neoverse-N1, ARMv8 Neoverse-N1 64-Core, ARMv8 Neoverse-N1 80-Core, ARMv8 Neoverse-V1, ARMv8 rev 0 8-Core, Ampere ARMv8 Neoverse-N1 160-Core, Ampere ARMv8 Neoverse-N1 256-Core, Ampere Altra ARMv8 Neoverse-N1 160-Core, Apple M2