Parallelle benchmarks for NAS - NAS Parallel Benchmarks

Parallelle benchmarks for NAS
Oprindelige forfatter (e) NASA Numerical Aerodynamic Simulation Program
Udvikler (r) NASA Advanced Supercomputing Division
Første udgivelse 1991 ( 1991 )
Stabil frigivelse
3.4
Internet side nas .nasa .gov / Software / NPB /

NAS Parallel Benchmarks ( NPB ) er et sæt benchmarks, der målretter ydeevneevaluering af meget parallelle supercomputere . De er udviklet og vedligeholdt af NASA Advanced Supercomputing (NAS) Division (tidligere NASA Numerical Aerodynamic Simulation Program) baseret på NASA Ames Research Center . NAS anmoder om resultater for NPB fra alle kilder.

Historie

Motivering

Traditionelle benchmarks, der eksisterede før NPB, såsom Livermore-sløjferne , LINPACK Benchmark og NAS Kernel Benchmark Program , var normalt specialiserede til vektorcomputere. De led generelt under utilstrækkelighed, herunder parallelismeforhindrende indstillingsrestriktioner og utilstrækkelige problemstørrelser, hvilket gjorde dem upassende til meget parallelle systemer. Lige uegnet var applikationsbenchmarks i fuld skala på grund af høje porteringsomkostninger og utilgængelighed af automatiske software-paralleliseringsværktøjer. Som et resultat blev NPB udviklet i 1991 og frigivet i 1992 for at imødegå den efterfølgende mangel på benchmarks, der gælder for meget parallelle maskiner.

NPB 1

Den første specifikation af NPB anerkendte, at benchmarks skulle være med

  • nye parallel-bevidste algoritmiske og softwaremetoder
  • genericitet og arkitekturneutralitet,
  • let kontrol af rigtighed af resultater og præstationstal
  • kapacitet til at rumme nye systemer med øget effekt,
  • og klar distribuerbarhed.

På baggrund af disse retningslinjer blev det anset for at være den eneste bæredygtige tilgang til at bruge en samling af "papir-og-blyant" -benchmarks, der kun specificerede et sæt problemer algoritmisk og overlod de fleste implementeringsoplysninger til implementerers skøn under visse nødvendige grænser.

NPB 1 definerede otte referenceværdier, hver i to problemområder størrelser døbt klasse A og klasse B . Prøvekoder skrevet i Fortran 77 blev leveret. De brugte en lille problemstørrelse klasse S og var ikke beregnet til benchmarking.

NPB 2

Siden udgivelsen viste NPB 1 to store svagheder. For det første på grund af sin "papir-og-blyant" -specifikation afstemte computerleverandører normalt deres implementeringer, så deres præstationer blev vanskelige for videnskabelige programmører at nå. For det andet var mange af disse implementeringer proprietære og ikke offentligt tilgængelige, hvilket effektivt skjulte deres optimeringsteknikker. For det andet halte problemstørrelser af NPB 1 bag udviklingen af ​​supercomputere, da sidstnævnte fortsatte med at udvikle sig.

NPB 2, udgivet i 1996, kom med kildekode implementeringer i fem ud af otte benchmarks, der er defineret i NPB 1 til supplement, men ikke erstatte NPB 1. Det udvidede benchmarks med en up-to-date problem størrelse Klasse C . Det ændrede også reglerne for indsendelse af benchmarking-resultater. De nye regler omfattede eksplicitte anmodninger om outputfiler samt modificerede kildefiler og build-scripts for at sikre offentlig tilgængelighed af ændringer og reproducerbarhed af resultaterne.

NPB 2.2 indeholdt implementeringer af yderligere to benchmarks. NPB 2.3 af 1997 var den første komplette implementering i MPI . Den leveres med serielle versioner af benchmarks, der er i overensstemmelse med de parallelle versioner og definerede en problemstørrelse klasse W for små hukommelsessystemer. NPB 2.4 af 2002 tilbudt en ny MPI implementering og indførte en anden endnu større problem størrelse klasse D . Det udvidede også et benchmark med I / O- intensive undertyper.

NPB 3

NPB 3 bevarede MPI-implementeringen fra NPB 2 og kom i flere varianter, nemlig OpenMP , Java og High Performance Fortran . Disse nye parallelle implementeringer blev afledt af seriekoderne i NPB 2.3 med yderligere optimeringer. NPB 3.1 og NPB 3.2 tilføjede yderligere tre benchmarks, som dog ikke var tilgængelige på tværs af alle implementeringer; NPB 3.3 introducerede en klasse E- problemstørrelse. Baseret på single-zone NPB 3 blev et sæt multi-zone benchmarks, der udnyttede MPI / OpenMP hybrid programmeringsmodellen, frigivet under navnet NPB-Multi-Zone ( NPB-MZ ) til "test af effektiviteten af ​​multi-level og hybrid parallelisering paradigmer og værktøjer ".

Benchmarks

Pr. NPB 3.3 defineres elleve benchmarks som opsummeret i nedenstående tabel.

Benchmark Navn afledt af Tilgængelig siden Beskrivelse Bemærkninger
MG M ulti G rid NPB 1 Anslå løsningen til en tredimensionel diskret Poisson-ligning ved hjælp af V-cyklus multigrid-metoden
CG K onjugat G- stråling Anslå den mindste egenværdi af en stor sparsom symmetrisk positiv-bestemt matrix ved hjælp af den inverse iteration med konjugatgradientmetoden som en subrutine til løsning af systemer med lineære ligninger
FT Hurtig F ourier T ransform Løs en tredimensionel delvis differentialligning (PDE) ved hjælp af den hurtige Fourier-transformation (FFT)
ER Jeg nteger S ort Sorter små heltal ved hjælp af skovlsorteringen
EP E mbarrassingly P arallel Generer uafhængige gaussiske tilfældige variabler ved hjælp af Marsaglia polar metode
BT B- lås T ridiagonal Løs et syntetisk system af ikke-lineære PDE'er ved hjælp af tre forskellige algoritmer, der involverer henholdsvis blok tridiagonal , skalar pentadiagonal og symmetrisk successiv overrelaksation (SSOR) -opløserkerner
  • BT-benchmarket har I / O-intensive undertyper
  • Alle tre benchmarks har versioner med flere zoner
SP S calar P entadiagonal
LU L ower- U pper symmetrisk Gauss-Seidel
UA U nstructured A daptive NPB 3.1 Løs varmelegning med konvektion og diffusion fra bevægelig kugle. Mesh er adaptivt og genberegnes på hvert 5. trin.
DC D ata C ube operatør
DT D ata T raffic NPB 3.2

Referencer

eksterne links