LINPACK Ydelsestest

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 14. august 2022; verifikation kræver 1 redigering .
Benchmark Linpack
Type præstationstest
Forfatter Jack Dongarra , Jim Bunch, Cleve Moler , Gilbert Stewart
Første udgave 1979 ( 1979 )
Internet side netlib.org/benchmark/hpl/

LINPACK-benchmarks måler computeres beregningsmæssige ydeevne, når de behandler flydende kommatal . Skabt af Jack Dongarra i 1979, måler de, hvor hurtigt en computer kan løse et tæt system af lineære ligninger (SLAE) Ax=b , hvor A er en n gange n matrix. Et lignende problem opstår ofte inden for maskinteknik .

Den seneste version af disse benchmarks bruges til at kompilere TOP500 , en liste, der viser verdens højest ydende supercomputere. [2]

Formålet med at lave test er at evaluere hastigheden af ​​at løse reelle problemer med en computer. At score med en enkelt test er dog en forenkling, fordi ingen enkelt beregningsopgave kan afspejle den overordnede ydeevne af et computersystem. LINPACK-ydeevne til at levere data til at forfine den maksimale ydeevne leveret af computerproducenten (peak-performance er den maksimale teoretiske ydeevne, som en computer kan opnå, beregnet som produktet af processorens clockhastighed og antallet af operationer, der udføres pr. ur), den faktiske ydeevnen vil altid være lavere end den maksimale ydeevne [3] . Computerydelse er en kompleks egenskab, der afhænger af mange indbyrdes forbundne komponenter. Ydeevnen målt af LINPACK benchmark viser antallet af 64-bit flydende komma operationer (additioner og multiplikationer), som computeren udførte pr. sekund, et forhold betegnet " FLOPS ". En computers ydeevne, når den kører rigtige applikationer, vil dog sandsynligvis være væsentligt lavere end den maksimale ydeevne, der opnås, når der køres en tilsvarende LINPACK-test. [fire]

Navnet på disse test er afledt af LINPACK -pakken, et sæt Fortran - algebraiske rutiner , der er meget brugt i 1980'erne og oprindeligt tæt forbundet med LINPACK-testen. LINPACK-pakken er siden blevet erstattet af andre biblioteker.

Historie

LINPACK benchmark dukkede første gang op i 1979 som et appendiks til LINPACK matematikbibliotekets brugermanual . [5]

LINPACK er designet til at hjælpe brugere med at vurdere den tid, det tager deres computersystemer at udføre opgaver ved hjælp af LINPACK -pakken . Til dette ekstrapoleres ydeevneresultater opnået på 23 forskellige computere, der løser et problem med en matrixstørrelse på 100 gange 100 elementer.

Denne opgavestørrelse blev valgt under hensyntagen til de karakteristiske hukommelsesstørrelser og processorydelse i den æra:

I årenes løb er der blevet frigivet yderligere versioner med større forskellige problemstørrelser, såsom 300 gange 300 og 1000 gange 1000 nummermatricer. Der er også dukket op implementeringer, der bruger hardwarefunktioner til at fremskynde matrix-vektor- og matrix-matrix-operationer. [6] Parallel databehandling dukkede op i en variant af LINPACK Parallel-testen i slutningen af ​​1980'erne. [3]

I 1991 blev LINPACK-testen modificeret for at løse problemer af vilkårlig størrelse [7] , hvilket gjorde det muligt for højtydende computere (HPC'er) at nærme sig deres asymptotiske ydeevne.

Siden 1993 er denne test blevet brugt til at kompilere TOP500 -ranglisten .

Benchmarks

LINPACK 100

LINPACK 100 er meget tæt på den originale test offentliggjort i 1979 i LINPACK User Guide ( ISBN 089871172X ). SLAE-løsningen er fremstillet ved partiel -rotation Gaussian-eliminering , der udfører 2/3 n³ + 2n² flydende kommaoperationer, hvor n er 100 og tæt matrix A er 100 gange 100. Den lille størrelse af matrixen og manglen på softwarefleksibilitet er få moderne computere til at demonstrere ydeevne tæt på det maksimale i denne test. Dette benchmark kan dog stadig være nyttigt til at forudsige ydeevne i numerisk intensiv tilpasset kode kompileret med optimeringer. [3]

LINPACK 1000

LINPACK 1000 øger matrixstørrelsen til 1000 gange 1000 elementer og giver ydeevne tættere på det maksimale for en computer. Ændringer i algoritmen er tilladt, dog er et fald i den relative nøjagtighed af løsningen ikke tilladt. Ved beregning af testens ydeevne er formlen for antallet af udførte flydende operationer altid 2 / 3n³ + 2n², med en værdi på n = 1000. [3]

HPLinpack

Tidligere generationer af testen var ikke egnede til at teste parallelle computere, [8] og den såkaldte "Linpack's Highly Parallel Computing"-test, alias HPLinpack, blev udviklet. I den nye test kan opgavestørrelsen n øges til den størrelse, der er nødvendig for at optimere maskinens ydeevne. Antallet af operationer formel 2 / 3n³ + 2n² bruges stadig, uanset hvilken algoritme der faktisk anvendes. Brugen af ​​Strassen-algoritmen er ikke tilladt, fordi den forvrænger den faktiske udførelseshastighed. [9] Nøjagtigheden af ​​den fundne løsning skal være sådan, at følgende egenskab er opfyldt:

, hvor er maskinens præcision, og n er størrelsen af ​​problemet, [10] er normen for matricen , og svarer til notationen big-O ("O" big).

Følgende mængder indberettes for hvert computersystem: [3]

Disse resultater bruges til at sammensætte TOP500 -listen over verdens hurtigste supercomputere samt Green500 . Udkommer to gange årligt.

Implementering af LINPACK tests

Det foregående afsnit beskrev grundreglerne for benchmarks. Den faktiske implementering af programmet kan variere, der er varianter for Fortran , [11] C [12] og Java [13] .

HPL

HPL er en mobil implementering af HPLinpack-opgaven, skabt i programmeringssproget C. Det tjente oprindeligt som en eksempelimplementering, men er siden blevet meget brugt til at indhente data til TOP500-listen , selvom andre implementeringer og pakker kan bruges. HPL opretter et lineært system af ligninger af orden n med tilfældige koefficienter og løser det derefter ved hjælp af en LU-dekomponering med delvis rækkerotation. Implementeringen kræver installerede implementeringer af MPI (message passing libraries) og et matematisk bibliotek: BLAS eller VSIPL [14] .

Generelt har denne implementering følgende karakteristika: [15] [16]

Kritik

Det hævdes nogle gange, at succesen med LINPACK-testen skyldes den gode skalerbarhed af HPLinpack [17] opgaven , det faktum, at resultatet af testen er et enkelt tal, der er let at sammenligne, og en stor mængde historiske data . [18] Imidlertid blev LINPACK kort efter introduktionen kritiseret for at demonstrere ydeevneniveauer "generelt uden for rækkevidde af alle undtagen et meget lille antal programmører, der kedelig optimerer deres kode til og kun for en given computer." [19] Benchmark tester hastigheden af ​​at løse tætte lineære systemer , men denne opgave er ikke repræsentativ for alle operationer, der almindeligvis udføres i videnskabelig databehandling. [20] Jack Dongarra , medforfatter af LINPACK-testene og TOP500-listen, bemærkede, at disse tests kun fokuserer på "peak"-processorhastigheder og -tal, mens de underudnytter lokale hukommelsesbusser og netværksforbindelser. [21]

Tom Dunning, Jr., direktør for National Center for Supercomputing Applications, beskrev LINPACK-testen som følger: "Linpack-testen er et af de interessante fænomener, hvis anvendelighed bliver latterliggjort af næsten alle, der kender til den. De forstår dens begrænsninger, men testen er populær, fordi den viser et enkelt tal og har været brugt i mange år." [22]

Ifølge Dongarra søger "Top500 aktivt at udvide dækningen af ​​benchmark benchmarks", fordi "det er vigtigt at inkludere flere ydeevnefunktioner og signaturer for hver konkurrent." [23] En af mulighederne for at supplere tests for TOP500 er HPC Challenge Benchmark sæt [24] . Med fremkomsten af ​​petaflops-supercomputere (Petascale) blev Graph500 -testen , som måler antallet af kanter, der krydses pr. sekund (TEPS), foreslået som et alternativ til FLOPS målt med LINPACK [25] . Et andet alternativ er HPCG-ydelsestesten foreslået af Dongarra. [26] [27]

Testudførelsestid

Ifølge Jack Dongarra stiger den tid, som HPLinpack-testen skal køre for at få gode resultater, gradvist. På en konference i 2010 sagde han, at han efter "nogle år" forventer en stigning i varigheden af ​​opsendelsen til omkring 2,5 dage. [28]

Se også

Noter

  1. CPU-ydeevnetest - LINPACK // parallel.ru / Arkiveret 13. november 2018 på Wayback Machine
  2. 1 2 3 4 5 Dongarra, Jack J.; Luszczek, Piotr & Petitet, Antoine (2003), The LINPACK Benchmark: fortid, nutid og fremtid , Samtidighed og beregning: Praksis og erfaring (John Wiley & Sons, Ltd.): 803–820 , < http://www.netlib .org/utk/people/JackDongarra/PAPERS/hplpaper.pdf > Arkiveret 20. januar 2019 på Wayback Machine 
  3. Jack Dongarra-interview af Sander Olson , < http://nextbigfuture.com/2010/06/jack-dongarra-interview-by-sander-olson.html > Arkiveret 4. marts 2016 på Wayback Machine 
  4. Dongarra, JJ; Moler, C.B.; Bunch, JR & Stewart, GW (1979), LINPACK: brugervejledning , ,9780898711721ISBN,SIAM > 
  5. Dongarra, Jack (1988), The LINPACK benchmark: An explanation , Supercomputing (Springer Berlin/Heidelberg): 456–474 , < http://www.netlib.org/utk/people/JackDongarra/PAPERS/The-LINPACK- Benchmark-An-Explanation.pdf > Arkiveret 4. april 2019 på Wayback Machine 
  6. High Performance Linpack Benchmark , < http://icl.cs.utk.edu/graphics/posters/files/SC2010-HPL.pdf > . Hentet 10. februar 2015. Arkiveret 4. marts 2016 på Wayback Machine 
  7. Bailey, D.H.; Barszcz, E.; Barton, JT & Browning, DS (1991), Resumé af NAS-parallelle benchmarks og foreløbige resultater , Supercomputing : 158–165 , < http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5348941&isnumber=4634=4634 > 
  8. LINPACK FAQ - Kan jeg bruge Strassens metode, når jeg laver matrixmultipletterne i HPL-benchmark eller til Top500-kørslen? . Dato for adgang: 10. februar 2015. Arkiveret fra originalen 1. september 2009.
  9. LINPACK FAQ - Hvilken nøjagtighed skal løsningen være i overensstemmelse med? . Dato for adgang: 10. februar 2015. Arkiveret fra originalen 1. september 2009.
  10. Linpack benchmark-program i Fortran . Hentet 10. februar 2015. Arkiveret fra originalen 20. februar 2015.
  11. Linpack benchmark-program i C. Hentet 10. februar 2015. Arkiveret fra originalen 20. februar 2015.
  12. Linpack benchmark-program i Java . Hentet 10. februar 2015. Arkiveret fra originalen 10. februar 2015.
  13. HPL - En bærbar implementering af højtydende Linpack-benchmark for computere med distribueret hukommelse . Hentet 10. februar 2015. Arkiveret fra originalen 15. februar 2015.
  14. HPL-algoritme . Hentet 13. december 2019. Arkiveret fra originalen 25. oktober 2019.
  15. HPL-oversigt . Hentet 10. februar 2015. Arkiveret fra originalen 10. februar 2015.
  16. Et interview med supercomputerlegenden Jack Dongarra (downlink) (24. maj 2012). Hentet 13. december 2019. Arkiveret fra originalen 3. februar 2013. 
  17. Haigh, Thomas Et interview med Jack J. Dongarra (2004). "LINPACK er et benchmark, som folk ofte citerer, fordi der er sådan en historisk database af information der, fordi den er ret nem at køre, den er let rimelig at forstå, og den fanger på en eller anden måde det bedste og værste ved programmering." Hentet 13. december 2019. Arkiveret fra originalen 12. januar 2021.
  18. Hammond, Steven (1995), Beyond Machoflops: Getting MPPs Into the Production Environment , < http://nldr.library.ucar.edu/repository/collections/TECH-NOTE-000-000-000-227 > Arkiveret 13. juli 2012. 
  19. Gahvari, Hormozd; Hoemmen, Mark; Demmel, James & Yelick, Katherine (2006), Benchmarking Sparse Matrix-Vector Multiply in Five Minutes , SPEC Benchmark Workshop , < http://bebop.cs.berkeley.edu/pubs/gahvari2007-spmvbench-spec.pdf > Arkiveret kopi 29. januar 2012 på Wayback Machine 
  20. Dongarra, Jack J. (2007), The HPC Challenge Benchmark: A Candidate for Replacement Linpack in the Top500? , SPEC Benchmark Workshop , < http://www.spec.org/workshops/2007/austin/slides/Keynote_Jack_Dongarra.pdf > Arkiveret 4. marts 2021 på Wayback Machine 
  21. Christopher Mims . Hvorfor Kinas nye supercomputer kun teknisk set er verdens hurtigste  (8. november 2010). Arkiveret fra originalen den 21. oktober 2012. Hentet 22. september 2011.
  22. Meuer, Martin Et interview med supercomputing-legenden jack dongarra (downlink) (24. maj 2002). Hentet 10. februar 2015. Arkiveret fra originalen 3. februar 2013. 
  23. Luszczek, Piotr; Dongarra, Jack J.; Koester, David & Rabenseifner, Rolf (2005), Introduction to the HPC Challenge Benchmark Suite , < http://icl.cs.utk.edu/projectsfiles/hpcc/pubs/hpcc-challenge-benchmark05.pdf > Arkiveret fra 1. marts 2021 på Wayback Machine 
  24. ↑ Top500-rangering og fremskridt inden for højtydende computing  . åbne systemer. DBMS, 2006 nr. 1 (1. februar 2016). Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  25. Hemsoth, Nicole . Nyt HPC-benchmark leverer lovende resultater , HPCWire (26. juni 2014). Arkiveret fra originalen den 8. september 2014. Hentet 8. september 2014.
  26. Supercomputere: Nye arkitekturer kræver nye målemetoder . itWeek (27. november 2015). Hentet 13. december 2019. Arkiveret fra originalen 5. april 2022.
  27. Dongarra, Jack J. (2010), LINPACK Benchmark with Time Limits on Multicore & GPU Based Accelerators , < http://www.netlib.org/utk/people/JackDongarra/SLIDES/isc-talk-06102.pdf > Arkiveret kopi dateret 17. januar 2014 på Wayback Machine 

Links