NAS parallelle benchmarks | |
---|---|
Type | industrielt benchmark |
Udvikler | NASA Advanced Supercomputing Division |
Skrevet i | Fortran, C |
Første udgave | 1991 |
Hardware platform | på tværs af platforme |
nyeste version | 3.4 |
Internet side | nas.nasa.gov/Software/NP... |
NAS Parallel Benchmarks er et sæt benchmarks designet til at teste funktionerne i meget parallelle supercomputere . De blev udviklet i begyndelsen af 1990'erne af NASAs numeriske aerodynamiske simuleringsprogram [1] og vedligeholdes af NASA Advanced Supercomputing (NAS) Division, der er placeret på NASA Ames Research Center .
Benchmark- pakker tidligere end NPB, såsom Livermore loops , LINPACK Benchmark og NAS Kernel Benchmark Program , var målrettet mod vektorcomputere. Mange af disse blev hurtigt utilstrækkelige, til dels på grund af begrænsningerne forbundet med tuning-induceret parallelisme og den utilstrækkelige størrelse af problemerne, der ikke passede til parallelle systemer. Industrielle applikationer, der kører i præstationsevalueringstilstand, var også dårligt egnede til dem på grund af de høje omkostninger ved at portere dem til et parallelt system og umuligheden af automatisk at parallelisere dem til store systemer.
NAS Parallel Benchmarks testsuite blev udviklet i 1991-1992 hos NASA Ames [1] . Formålet med at lave en testpakke var at evaluere supercomputeres ydeevne på få timer. Pakken inkluderer beregningsmæssige kerner, der oftest optrådte i den numeriske simulering af et rumfartøjs flyvning til løsning af problemer med hydro- og aerodynamik [1] .
Oprindeligt skabte skaberne af NPB et sæt regler og anbefalinger til implementering af test, specificering af acceptable programmeringssprog, algoritmer, datadimensioner, begrænsninger for parallelisering, organisering af datainput og -output, måling af tid og publicering af resultater. Den første udgivne version, NPB 1, definerede 8 tests (EP, MG, CG, FT, LU, SP, BT [2] ) og gav implementeringseksempler i Fortran 77 [3] .
Derefter skrev de en offentligt tilgængelig softwareimplementering, som modtog version 2.0 (1995-1996 [4] ). I version 2.3 (1997) og 2.4 (2002) blev NPB-pakken suppleret med en variant paralleliseret ved hjælp af MPI-standarden.
I version NPB 3 blev implementeringer tilføjet med OpenMP parallelisering, samt i Java og High Performance Fortran .
I version 3.3 indeholder NPB 3.3-pakken 11 tests.
Prøve | Fulde navn [5] | Udseende version | Beskrivelse [5] | Bemærkninger |
---|---|---|---|---|
MG | M ulti G rid - flere gitter | NPB 1 [2] [5] | Approksimation af løsningen til den tredimensionelle diskrete Poisson-ligning ved hjælp af V-Cycle Multigrid-metoden | |
CG | C onjugate G radient — konjugeret gradient | Approksimation til den mindste egenværdi af en stor sparsom symmetrisk positiv-definit matrix ved hjælp af invers iteration sammen med den konjugerede gradientmetode som en rutine til løsning af SLAE | ||
FT | Hurtig Fourier - transformation — Hurtig Fourier-transformation | Løsning af en 3D PDE med Fast Fourier Transform (FFT) | ||
ER | Heltalssortering - sortering af heltal | Sortering af små heltal ved hjælp af lommesortering [6] | ||
EP | Pinligt parallelt - Ekstremt parallelt | Generering af uafhængige normalfordelte stokastiske variabler ved hjælp af en:Marsaglia polar metode | ||
BT | B lås T ridagonal | Løser et syntetisk system af ikke-lineære differentialer. partielle differentialligninger (3-dimensionelt system af Navier-Stokes-ligninger for en komprimerbar væske eller gas) ved hjælp af tre algoritmer: et blok tridiagonalt skema med alternerende retningsmetoden (BT), et skalært fem-diagonalt skema (SP) og en symmetrisk successiv over-relaxation-metode (SSOR-algoritme, LU-problemet). | ||
SP | S calar P entadiagonal [9] — Scalar pentadiagonal | |||
LU | Nedre - Øvre ekspansion ved hjælp af den symmetriske Gauss - Seidel metode [9] | |||
U.A. | Ustruktureret A daptiv [ 10] — Ustruktureret adaptiv | NPB 3.1 [11] | Løsningen af varmeligningen under hensyntagen til diffusion og konvektion i en terning. Varmekilden er mobil, gitteret er uregelmæssigt og skifter hvert 5. trin. [12] | Brugt 3D mørtel metode |
DC | Data C ube - operatør - operator "datakube" [ 13] | |||
DT | Datatrafik [ 11] [ 14] - datatrafik | NPB 3.2 [11] | Simulering af dataudvekslinger mellem kildenoder, processornoder og forbrugernoder | Kun MPI-version |