NAS Parallel Benchmarks: Difference between revisions

Content deleted Content added
m remove stub template
 The benchmarks :  expanded on benchmark descriptions
Line 9:
|website=http://www.nas.nasa.gov/Software/NPB/
}}
The '''NAS Parallel Benchmarks''' ('''NPB''') are a set of [[benchmark (computing)|benchmark]]s targeting performance evaluation of highly [[Parallel computing|parallel]] [[supercomputer]]s. They are developed and maintained by the [[NASA]] [[NASA Advanced Supercomputing Division|Advanced Supercomputing (NAS) Division]] (formerly the NASA Numerical Aerodynamic Simulation Program) based at the [[NASA Ames Research Center]]. NAS solicits performance results for NPB from all sources.<ref name="npbweb">{{cite web
|title=NAS Parallel Benchmarks Changes
|url=http://www.nas.nasa.gov/Resources/Software/npb.html
Line 18:
==History==
===Motivation===
Traditional benchmarks that existed before NPB, such as the [[Livermore loops]], the [[LINPACK|LINPACK Benchmark]] and the [[http://www.netlib.org/benchmark/nas NAS Kernel Benchmark Program]], were usually specialized for vector computers. They generally suffered from inadequacies including parallelism-impeding tuning restrictions and insufficient problem sizes, which rendered them inappropriate for highly parallel systems. Equally unsuitable were full-scale application benchmarks due to high porting cost and unavailability of automatic software parallelization tools.<ref name="rnr94007">{{Citation
|last1=Baily|first1=D.
|last2=Barscz|first2=E.
Line 67:
* capability of accommodating new systems with increased power,
* and ready distributability.
In the light of these guidelines, it was deemed the only viable approach to use a collection of "paper-and-pencil" benchmarks that specified a set of problems only algorithmically and left most implementation details to the implementorimplementer's discretion under certain necessary limits.
 
NPB 1 defined eight benchmarks, each in two problem sizes dubbed ''Class A'' and ''Class B''. Sample codes written in [[Fortran#FORTRAN_77|Fortran 77]] were supplied. They used a small problem size ''Class S'' and were not intended for benchmarking purposes.<ref name="rnr94007"/>
 
===NPB 2===
Since its release, NPB 1 displayed two major weaknesses. Firstly, due to its "paper -and -pencil" style of specification, computer vendors usually highly tuned their implementations so that their performance became difficult for scientific programmers to attain. MoreoverSecondly, many of these implementation were proprietary and not publicly available, effectively concealing their optimizing techniques. Secondly, problem sizes of NPB 1 lagged behind the development of supercomputers as the latter continued to evolve.<ref name="nas95020"/>
 
NPB 2, released in 1996<ref name="npb2.2">{{Citation
Line 158:
 
{| class="wikitable"
! Benchmark !! Name derived from<ref name="rnr94007"/> !! FirstDescription<ref appearingname="rnr94007"/> !! Available since !! inRemark
|-
| MG || [[Multigrid method|'''M'''ulti'''G'''rid]]<ref name="rnr94007"/>
| Approximate the solution to a three-dimensional [[discrete Poisson equation]] using the V-cycle [[multigrid method]]
| rowspan="8" | NPB 1<ref name="rnr94007"/> ||
|-
| CG || [[Conjugate gradient method|'''C'''onjugate '''G'''radient]]<ref name="rnr94007"/>
| Estimate the largest [[eigenvalue]] of a [[Sparse matrix|sparse]] [[Symmetric matrix|symmetric]] [[positive-definite matrix]] using the [[inverse iteration]] with the [[conjugate gradient method]] as a subroutine for solving [[System of linear equations|systems of linear equations]] ||
|-
| FT || [[Fast Fourier transform|Fast '''F'''ourier '''T'''ransform]]<ref name="rnr94007"/>
| Solve a three-dimensional [[partial differential equation]] (PDE) using the [[fast Fourier transform]] (FFT) ||
|-
| IS || '''I'''nteger [[Sorting|'''S'''ort]]<ref name="rnr94007"/>
| Sort small integers in parallel using the [[bucket sort]]<ref name="npb2.2"/> ||
|-
| EP || [[Embarrassingly parallel|'''E'''mbarrassingly '''P'''arallel]]<ref name="rnr94007"/>
| Generate independent [[Normal distribution|Gaussian]] [[random variate]]s using the [[Marsaglia polar method]] ||
|-
| BT || [[Block matrix#Block_tridiagonal_matrices|'''B'''lock '''T'''ridiagonal]]<ref name="rnr94007"/>
| rowspan="3" | Solve a synthetic system of [[Nonlinear#Partial_differential_equations|nonlinear PDEs]] using three different algorithms involving [[Block matrix#Block_tridiagonal_matrices|block tridiagonal]], scalar [[Pentadiagonal matrix|pentadiagonal]] and symmetric [[successive over-relaxation]] (SSOR) solver kernels, respectively
| Has I/O-intensive subtypes
|-
| SP || [[Scalar (mathematics)|'''S'''calar]] [[Pentadiagonal matrix|'''P'''entadiagonal]]<ref name="nas95020nas02007"/> ||
|-
| LU || [[Triangular matrix#Forward_and_Back_Substitution|'''L'''ower-'''U'''pper]] [[Symmetric matrix|symmetric]] [[Gauss–Seidel method|Gauss-Seidel]]<ref name="nas95020nas02007"/> ||
|-
| UA || '''U'''nstructured '''A'''daptive<ref name="nas04006"/> ||
| rowspan="2" | NPB 3.1<ref name="npbchanges"/> ||
|-
| DC || [[Data cube|'''D'''ata '''C'''ube]] operator<ref name="nas04013"/> || ||
|-
| DT || '''D'''ata '''T'''raffic<ref name="npbchanges"/> || || NPB 3.2<ref name="npbchanges"/> ||
|}
 
Line 190 ⟶ 197:
== External links ==
* [http://www.nas.nasa.gov/Software/NPB/ NAS Parallel Benchmarks Changes] (official website)
* [http://www.netlib.org/benchmark/nas NAS Kernel Benchmark Program]
 
[[Category:Computer benchmarks]]