NAS parallella benchmarks | |
---|---|
Sorts | industriellt riktmärke |
Utvecklaren | NASA Advanced Supercomputing Division |
Skrivet i | Fortran, C |
Första upplagan | 1991 |
Hårdvaruplattform | plattformsoberoende |
senaste versionen | 3.4 |
Hemsida | nas.nasa.gov/Software/NP... |
NAS Parallel Benchmarks är en uppsättning riktmärken utformade för att testa kapaciteten hos mycket parallella superdatorer . De utvecklades i början av 1990-talet av NASAs numeriska aerodynamiska simuleringsprogram [1] och underhålls av NASA Advanced Supercomputing (NAS) Division som ligger vid NASA Ames Research Center .
Benchmark- paket tidigare än NPB, som Livermore loops , LINPACK Benchmark och NAS Kernel Benchmark Program , var inriktade på vektordatorer. Många av dessa blev snabbt otillräckliga, delvis på grund av begränsningarna förknippade med avstämningsinducerad parallellism och den otillräckliga storleken på problemen som inte passade parallella system. Industriella applikationer som kördes i prestandautvärderingsläge var också dåligt lämpade för dem, på grund av den höga kostnaden för att porta dem till ett parallellt system och omöjligheten att automatiskt parallellisera dem till stora system.
NAS Parallel Benchmarks testsvit utvecklades 1991-1992 vid NASA Ames [1] . Syftet med att skapa ett testpaket var att utvärdera prestandan hos superdatorer på några timmar. Paketet innehåller beräkningskärnor som oftast förekom i den numeriska simuleringen av en rymdfarkosts flygning för att lösa problem med hydro- och aerodynamik [1] .
Inledningsvis skapade skaparna av NPB en uppsättning regler och rekommendationer för att implementera tester, specificera acceptabla programmeringsspråk, algoritmer, datadimensioner, begränsningar för parallellisering, organisera datainmatning och utdata, mäta tid och publicera resultat. Den första släppta versionen, NPB 1, definierade 8 tester (EP, MG, CG, FT, LU, SP, BT [2] ) och gav implementeringsexempel i Fortran 77 [3] .
Sedan skrev de en allmänt tillgänglig mjukvaruimplementering, som fick version 2.0 (1995-1996 [4] ). I versionerna 2.3 (1997) och 2.4 (2002) kompletterades NPB-paketet med en variant parallelliserad med MPI-standarden.
I version NPB 3 tillkom implementeringar med OpenMP-parallellisering, samt i Java och High Performance Fortran .
I version 3.3 innehåller NPB 3.3-paketet 11 tester.
Testa | Fullständigt namn [5] | Utseendeversion | Beskrivning [5] | Anmärkningar |
---|---|---|---|---|
MG | M ulti G rid - flera rutnät | NPB 1 [2] [5] | Approximation av lösningen till den tredimensionella diskreta Poisson-ekvationen med hjälp av V-Cycle Multigrid-metoden | |
CG | C onjugate G radient — konjugerad gradient | Approximation till det minsta egenvärdet för en stor gles symmetrisk positiv-definitiv matris med invers iteration tillsammans med den konjugerade gradientmetoden som en rutin för att lösa SLAE | ||
MED | Snabb Fourier- transform — Snabb Fourier-transform | Lösa en 3D PDE med Fast Fourier Transform (FFT) | ||
ÄR | Heltalssortering - sortering av heltal | Sortera små heltal med ficksortering [6] | ||
EP | Pinsamt parallellt - Extremt parallellt | Generera oberoende normalfördelade slumpvariabler med hjälp av en:Marsaglia polarmetoden | ||
BT | B lås T ridagonalt | Löser ett syntetiskt system av icke-linjära differentialer. partiella differentialekvationer (3-dimensionellt system av Navier-Stokes ekvationer för en komprimerbar vätska eller gas) med hjälp av tre algoritmer: ett block tridiagonalt schema med alternerande riktningsmetoden (BT), ett skalärt fem-diagonalt schema (SP) och en symmetrisk successiv överavslappningsmetod (SSOR-algoritm, LU-problemet). | ||
SP | S calar P entadiagonal [9] — Skalär pentadiagonal | |||
LU | Nedre - Övre expansion med den symmetriska Gauss - Seidel- metoden [9] | |||
U.A. | Ostrukturerad A daptiv [ 10] — Ostrukturerad adaptiv | NPB 3.1 [11] | Lösningen av värmeekvationen med hänsyn till diffusion och konvektion i en kub. Värmekällan är mobil, gallret är oregelbundet och byter vart 5:e steg. [12] | Använde 3D Mortar-metod |
DC | Data C ube- operatör - operator "datakub" [ 13] | |||
DT | Datatrafik [ 11] [ 14 ] - datatrafik | NPB 3.2 [11] | Simulering av datautbyten mellan källnoder, processornoder och konsumentnoder | Endast MPI-version |