NAS Parallel Benchmarks | |
---|---|
Tip de | reper industrial |
Dezvoltator | Divizia de supercalculare avansată a NASA |
Scris in | Fortran, C |
Prima editie | 1991 |
Platformă hardware | multiplatformă |
ultima versiune | 3.4 |
Site-ul web | nas.nasa.gov/Software/NP… |
NAS Parallel Benchmarks este un set de benchmarkuri concepute pentru a testa capacitățile supercalculatoarelor extrem de paralele . Ele au fost dezvoltate la începutul anilor 1990 de către NASA Numerical Aerodynamic Simulation Program [1] și sunt menținute de către NASA Advanced Supercomputing Division (NAS) situată la NASA Ames Research Center .
Pachetele de benchmark anterioare NPB, cum ar fi buclele Livermore , LINPACK Benchmark și programul NAS Kernel Benchmark , au fost vizate de computere vector. Multe dintre acestea au devenit rapid inadecvate, în parte din cauza limitărilor asociate cu paralelismul indus de reglare și a dimensiunii insuficiente a problemelor care nu se potriveau sistemelor paralele. Aplicațiile industriale care rulează în modul de evaluare a performanței erau, de asemenea, prost potrivite pentru ele, din cauza costului ridicat de portare a acestora într-un sistem paralel și a imposibilității de a le paraleliza automat cu sisteme mari.
Suita de teste NAS Parallel Benchmarks a fost dezvoltată în 1991-1992 la NASA Ames [1] . Scopul creării unui pachet de testare a fost de a evalua performanța supercalculatoarelor în câteva ore. Pachetul include nuclee de calcul care au apărut cel mai adesea în simularea numerică a zborului unei nave spațiale în rezolvarea problemelor de hidro- și aerodinamică [1] .
Inițial, creatorii NPB au creat un set de reguli și recomandări pentru implementarea testelor, specificând limbaje de programare acceptabile, algoritmi, dimensiuni ale datelor, restricții privind paralelizarea, organizarea intrării și ieșirii datelor, măsurarea timpului și publicarea rezultatelor. Prima versiune lansată, NPB 1, a definit 8 teste (EP, MG, CG, FT, LU, SP, BT [2] ) și a oferit exemple de implementare în Fortran 77 [3] .
Apoi au scris o implementare software disponibilă public, care a primit versiunea 2.0 (1995-1996 [4] ). În versiunile 2.3 (1997) și 2.4 (2002), pachetul NPB a fost completat cu o variantă paralelizată folosind standardul MPI.
În versiunea NPB 3, implementările au fost adăugate cu paralelizare OpenMP, precum și în Java și Fortran de înaltă performanță .
În versiunea 3.3, pachetul NPB 3.3 include 11 teste.
Test | Nume complet [5] | Varianta de aspect | Descriere [5] | Remarci |
---|---|---|---|---|
MG | M ulti Grid - grilă multiplă | NPB 1 [2] [5] | Aproximarea soluției la ecuația Poisson tridimensională discretă folosind metoda V-Cycle Multigrid | |
CG | C onjugate G radient — gradient conjugat | Aproximarea la cea mai mică valoare proprie a unei matrice simetrice pozitiv-definite rară și rare folosind iterația inversă împreună cu metoda gradientului conjugat ca rutină pentru rezolvarea SLAE | ||
FT | Transformată Fourier rapidă — Transformată Fourier rapidă | Rezolvarea unui PDE 3D cu transformarea rapidă Fourier (FFT) | ||
ESTE | Integer S ort - sortarea numerelor întregi | Sortarea numerelor întregi mici folosind sortarea de buzunar [6] | ||
EP | Penibil de paralel - Extrem de paralel | Generarea de variabile aleatoare independente distribuite normal folosind metoda polară en:Marsaglia | ||
BT | B lock T ridiagonal | Rezolvă un sistem sintetic de diferenţiale neliniare. ecuații diferențiale parțiale (sistem tridimensional de ecuații Navier-Stokes pentru un lichid sau gaz compresibil) folosind trei algoritmi: o schemă tridiagonală bloc cu metoda direcției alternative (BT), o schemă scalară cu cinci diagonale (SP) și o schemă succesivă simetrică metoda suprarelaxării (algoritmul SSOR, problema LU). | ||
SP | Scalar P entadiagonal [ 9 ] — Scalar pentadiagonal | |||
LU | Expansiune inferioară - superioară folosind metoda simetrică Gauss - Seidel [9] | |||
U.A. | Unstructurat A daptive [ 10] — Adaptativ nestructurat | NPB 3.1 [11] | Rezolvarea ecuației căldurii ținând cont de difuzie și convecție într-un cub. Sursa de caldura este mobila, grila este neregulata si se schimba la fiecare 5 trepte. [12] | Metoda Mortar 3D folosită |
DC | Operator Data Cube - operator "data cube" [ 13] | |||
DT | Trafic de date [ 11] [ 14] - trafic de date | NPB 3.2 [11] | Simularea schimburilor de date între nodurile sursă, nodurile procesorului și nodurile consumatoare | Numai versiunea MPI |