Content deleted Content added
→History: added npb 3 |
→ The benchmarks: new section; corrections/modifications in various places |
||
Line 12:
|title=NAS Parallel Benchmarks Changes
|url=http://www.nas.nasa.gov/Resources/Software/npb.html
|publisher=
|accessdate=2009-02-23
}}</ref>
Line 69:
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 implementor's discretion under certain necessary limits.
NPB 1 defined eight benchmarks, each in two problem sizes dubbed ''Class A'' and ''Class B''. Sample
===NPB 2===
Line 91:
}}</ref>, came with source code implementations for five out of eight benchmarks defined in NPB 1 to supplement but not replace NPB 1. It extended the benchmarks with an up-to-date problem size ''Class C''. It also amended the rules for submitting benchmarking results. The new rules included explicit requests for output files as well as modified source files and build scripts to ensure public availability of the modifications and reproducibility of the results.<ref name="nas95020"/>
NPB 2.2 contained implementations of two more benchmarks.<ref name="npb2.2"/> NPB 2.3 of 1997 was the first complete implemetation in [[Message Passing Interface|MPI]].<ref name="nas03002"/> It shipped with serial versions of the benchmarks consistent with the parallel versions and
|title=NAS Parallel Benchmarks Changes
|url=http://www.nas.nasa.gov/Resources/Software/npb_changes.html
|publisher=
|accessdate=2009-03-17
}}</ref> NPB 2.4 of 2002 offered a new MPI implementation and introduced another still larger problem size ''Class D''.<ref
===NPB 3===
Line 108:
|year=October 1999
|publisher=NASA Ames Research Center, Moffett Field, CA
}}</ref>, [[Java (programming language)|Java]]<ref name="nas02009">{{Citation
|last1=Frumkin|first1=M.
|last2=Schultz|first2=M.
Line 126:
|year=September 1998
|publisher=NASA Ames Research Center, Moffett Field, CA
}}</ref>. These new parallel implementations were from derived the serial codes in NPB 2.3 with additional optimizations.<ref name="npbchanges"/> NPB 3.1 and NPB 3.2 added three more benchmarks
|last1=Feng|first1=H.
|last2=van der Wijngaart|first2=F.
|last3=Biswas|first3=R.
|last4=Mavriplis|first4=C.
|contribution=Unstructured Adaptive (UA) NAS Parallel Benchmark, Version 1.0
|contribution-url=http://www.nas.nasa.gov/News/Techreports/2004/PDF/nas-04-006.pdf
|title=NAS Technical Report NAS-04-006
|year=July 2004
|publisher=NASA Ames Research Center, Moffett Field, CA
}}</ref><ref name="nas04013">{{Citation
|last1=Frumkin|first1=M.
|last2=Shabanov|first2=L.
|contribution=Benchmarking Memory Performance with the Data Cube Operator
|contribution-url=http://www.nas.nasa.gov/News/Techreports/2004/PDF/nas-04-013.pdf
|title=NAS Technical Report NAS-04-013
|year=September 2004
|publisher=NASA Ames Research Center, Moffett Field, CA
}}</ref>, which, however, were not available across all implementations; NPB 3.3 introduced a ''Class E'' problem size.<ref name="npbchanges"/> Based on the single-zone NPB 3, a set of multi-zone benchmarks taking advantage of the MPI/OpenMP hybrid programming model were released under the name '''NPB-Multi-Zone''' ('''NPB-MZ''') for "testing the effectiveness of multi-level and hybrid parallelization paradigms and tools".<ref name="npbweb"/><ref name="nas03010">{{Citation
|last1=van der Wijngaart|first1=R.
|last2=Jin|first2=H.
Line 135 ⟶ 153:
|publisher=NASA Ames Research Center, Moffett Field, CA
}}</ref>
==The benchmarks==
As of NPB 3.3, eleven benchmarks are defined as summarized in the following table.
{| class="wikitable"
! Benchmark !! Name derived from !! First appearing in
|-
| MG || [[Multigrid method|'''M'''ulti'''G'''rid]]<ref name="rnr94007"/> || NPB 1<ref name="rnr94007"/>
|-
| CG || [[Conjugate gradient method|'''C'''onjugate '''G'''radient]]<ref name="rnr94007"/> || NPB 1<ref name="rnr94007"/>
|-
| FT || [[Fast Fourier transform|Fast '''F'''ourier '''T'''ransform]]<ref name="rnr94007"/> || NPB 1<ref name="rnr94007"/>
|-
| IS || '''I'''nteger [[Sorting|'''S'''ort]]<ref name="rnr94007"/> || NPB 1<ref name="rnr94007"/>
|-
| EP || [[Embarrassingly parallel|'''E'''mbarrassingly '''P'''arallel]]<ref name="rnr94007"/> || NPB 1<ref name="rnr94007"/>
|-
| BT || [[Block matrix#Block_tridiagonal_matrices|'''B'''lock '''T'''ridiagonal]]<ref name="rnr94007"/> || NPB 1<ref name="rnr94007"/>
|-
| SP || [[Scalar (mathematics)|'''S'''calar]] [[Pentadiagonal matrix|'''P'''entadiagonal]]<ref name="nas95020"/> || NPB 1<ref name="rnr94007"/>
|-
| LU || [[Triangular matrix|'''L'''ower-'''U'''pper]] symmetric [[Gauss–Seidel method|Gauss-Seidel]]<ref name="nas95020"/> || NPB 1<ref name="rnr94007"/>
|-
| UA || '''U'''nstructured '''A'''daptive<ref name="nas04006"/> || NPB 3.1<ref name="npbchanges"/>
|-
| DC || [[Data cube|'''D'''ata '''C'''ube]] operator<ref name="nas04013"/> || NPB 3.1<ref name="npbchanges"/>
|-
| DT || '''D'''ata '''T'''raffic<ref name="npbchanges"/> || NPB 3.2<ref name="npbchanges"/>
|}
==References==
|