LINPACK-suorituskykytestit

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 14. elokuuta 2022 tarkistetusta versiosta . vahvistus vaatii 1 muokkauksen .
Benchmark Linpack
Tyyppi suorituskykytesti
Tekijä Jack Dongarra , Jim Bunch, Cleve Moler , Gilbert Stewart
Ensimmäinen painos 1979 ( 1979 )
Verkkosivusto netlib.org/benchmark/hpl/

LINPACK - vertailuarvot mittaavat tietokoneiden laskennallista suorituskykyä liukulukujen käsittelyssä. Jack Dongarran vuonna1979 luomat ne mittaavat, kuinka nopeasti tietokone pystyy ratkaisemaan tiheän lineaariyhtälöjärjestelmän (SLAE) Ax=b , jossa A on n x n matriisi. Samanlainen ongelma ilmenee usein koneenrakennuksen alalla .

Näiden vertailuarvojen uusinta versiota käytetään TOP500 :n kokoamiseen, luetteloon, joka luettelee maailman tehokkaimmat supertietokoneet. [2]

Testien luomisen tarkoituksena on arvioida todellisten ongelmien ratkaisemisen nopeutta tietokoneella. Pisteytys yhdellä testillä on kuitenkin yksinkertaistus, koska mikään yksittäinen laskennallinen tehtävä ei voi kuvastaa tietokonejärjestelmän yleistä suorituskykyä. LINPACK-suorituskyky tuottaa tietoja tietokoneen valmistajan tarjoaman huippusuorituskyvyn tarkentamiseksi (huipputeho on suurin teoreettinen suorituskyky, jonka tietokone voi saavuttaa, laskettuna prosessorin kellonopeuden ja kelloa kohden suoritettujen toimintojen määrän tulona), todellinen suorituskyky on aina pienempi kuin maksimiteho [3] . Tietokoneen suorituskyky on monimutkainen ominaisuus, joka riippuu monista toisiinsa liittyvistä osista. LINPACK-vertailulla mitattu suorituskyky osoittaa tietokoneen sekunnissa suorittamien 64-bittisten liukulukuoperaatioiden (yhdys- ja kertolaskujen) lukumäärän. Suhde on " FLOPS ". Tietokoneen suorituskyky oikeita sovelluksia ajettaessa on kuitenkin todennäköisesti huomattavasti pienempi kuin suurin mahdollinen suorituskyky, joka saavutetaan suoritettaessa vastaava LINPACK-testi. [neljä]

Näiden testien nimi on johdettu LINPACK- paketista, joka on joukko Fortran - algebrallisia rutiineja , joita käytettiin laajalti 1980-luvulla ja joka alun perin liittyi läheisesti LINPACK-testiin. LINPACK-paketti on sittemmin korvattu muilla kirjastoilla.

Historia

LINPACK-benchmark ilmestyi ensimmäisen kerran vuonna 1979 LINPACK- matematiikan kirjaston käyttöoppaan liitteenä . [5]

LINPACK on suunniteltu auttamaan käyttäjiä arvioimaan aikaa, joka heidän tietokonejärjestelmistään kuluu tehtävien suorittamiseen LINPACK- paketin avulla . Tätä varten ekstrapoloidaan suorituskykytulokset, jotka on saatu 23 eri tietokoneella, jotka ratkaisivat ongelman, jonka matriisikoko on 100 x 100 elementtiä.

Tämä tehtäväkoko valittiin ottaen huomioon kyseisen aikakauden tyypilliset muistikoot ja prosessorin suorituskyky:

Vuosien varrella on julkaistu lisäversioita, joissa on suurempia erikokoisia ongelmakokoja, kuten 300 x 300 ja 1000 x 1000 lukumatriiseja. On myös ilmestynyt toteutuksia, jotka käyttävät laitteistoominaisuuksia nopeuttamaan matriisi-vektori- ja matriisi-matriisitoimintoja. [6] Rinnakkais tietojenkäsittely ilmestyi LINPACK Parallel -testin muunnelmassa 1980-luvun lopulla. [3]

Vuonna 1991 LINPACK-testiä muutettiin ratkaisemaan mielivaltaisen kokoisia ongelmia [7] , jolloin korkean suorituskyvyn tietokoneet (HPC:t) pystyivät lähestymään asymptoottista suorituskykyään.

Vuodesta 1993 lähtien tätä testiä on käytetty TOP500 -listan laatimiseen .

Vertailuarvot

LINPACK 100

LINPACK 100 on hyvin lähellä alkuperäistä testiä, joka julkaistiin vuonna 1979 LINPACK-käyttöoppaassa ( ISBN 089871172X ). SLAE -ratkaisu tuotetaan osittaisrotaatio Gaussin eliminoinnilla suorittaen 2/3 n³ + 2n² liukulukuoperaatioita, joissa n on 100 ja tiheä matriisi A on 100 x 100. Matriisin pieni koko ja ohjelmiston joustavuuden puute ovat muutamia nykyaikaisia ​​tietokoneita osoittamaan suorituskykyä lähellä maksimia tässä testissä. Tämä vertailuarvo voi kuitenkin olla hyödyllinen numeerisesti intensiivisen mukautetun koodin, joka on käännetty optimointien avulla, tehokkuuden ennustamisessa. [3]

LINPACK 1000

LINPACK 1000 kasvattaa matriisin koon 1000 x 1000 elementtiin ja tarjoaa suorituskyvyn lähempänä tietokoneen maksimia. Algoritmin muutokset ovat sallittuja, mutta ratkaisun suhteellisen tarkkuuden heikkeneminen ei ole sallittua. Testin suorituskykyä laskettaessa kaava suoritettujen kelluvien operaatioiden lukumäärälle on aina 2 / 3n³ + 2n², arvolla n = 1000. [3]

HPLinpack

Testin aikaisemmat sukupolvet eivät olleet sopivia rinnakkaisten tietokoneiden testaamiseen, [8] ja kehitettiin niin sanottu "Linpack's Highly Parallel Computing" -testi, eli HPLinpack. Uudessa testissä tehtävän kokoa n voidaan kasvattaa koneen suorituskyvyn optimoimiseksi tarvittavaan kokoon. Operaatioiden lukumääräkaava 2 / 3n³ + 2n² on edelleen käytössä, riippumatta tosiasiallisesti käytetystä algoritmista. Strassen-algoritmin käyttö ei ole sallittua, koska se vääristää todellista suoritusnopeutta. [9] Löydetyn ratkaisun tarkkuuden on oltava sellainen, että seuraava ominaisuus täyttyy:

, missä on koneen tarkkuus ja n on ongelman koko, [10] on matriisin normi ja vastaa merkintää big-O ("O" iso).

Seuraavat määrät ilmoitetaan jokaisesta tietokonejärjestelmästä: [3]

Näitä tuloksia käytetään laadittaessa maailman nopeimpien supertietokoneiden TOP500 -listaa sekä Green500 . Julkaistu kahdesti vuodessa.

LINPACK-testien toteutus

Edellisessä osiossa kuvattiin vertailuarvojen perussäännöt. Ohjelman varsinainen toteutus voi vaihdella, Fortranille , [11] C [12] ja Javalle [13] on muunnelmia .

HPL

HPL on C-ohjelmointikielellä luotu HPLinpack-tehtävän mobiilitoteutus. Se toimi alun perin esimerkkitoteutuksena, mutta sitä on sittemmin käytetty laajalti tietojen hankkimiseen TOP500-luetteloon , vaikka muita toteutuksia ja paketteja voidaan käyttää. HPL luo lineaarisen yhtälöjärjestelmän kertaluvun n satunnaiskertoimilla ja ratkaisee sen sitten käyttämällä LU-hajottelua osittaisella rivikierrolla. Toteutus vaatii asennettuja MPI -toteutuksia (message passing libraries) ja matemaattista kirjastoa: BLAS tai VSIPL [14] .

Yleisesti ottaen tällä toteutuksella on seuraavat ominaisuudet: [15] [16]

Kritiikki

Joskus väitetään, että LINPACK-testin onnistuminen johtuu HPLinpack- tehtävän [17] hyvästä skaalautumisesta , siitä, että testin tulos on yksittäinen helposti verrattavissa oleva luku, ja suuresta historiatietomäärästä. . [18] Pian sen käyttöönoton jälkeen LINPACKia kuitenkin kritisoitiin suorituskyvyn osoittamisesta "yleensä kaikkien paitsi hyvin pienten ohjelmoijien ulottumattomissa, jotka ikävästi optimoivat koodiaan tietylle tietokoneelle ja vain sitä varten." [19] Benchmark testaa tiheiden lineaaristen järjestelmien ratkaisemisen nopeutta , mutta tämä tehtävä ei edusta kaikkia tieteellisessä laskennassa yleisesti suoritettavia operaatioita. [20] Jack Dongarra , LINPACK-testien ja TOP500-listan toinen kirjoittaja, totesi, että nämä testit keskittyvät vain "huippu"-prosessorinopeuksiin ja -lukuihin, samalla kun paikallisia muistiväyliä ja verkkoyhteyksiä ei hyödynnetä. [21]

Tom Dunning, Jr., National Center for Supercomputing Applications -keskuksen johtaja, kuvaili LINPACK-testiä seuraavasti: "Linpack-testi on yksi niistä mielenkiintoisista ilmiöistä, joiden hyödyllisyyttä nauravat melkein kaikki sen tietävät. He ymmärtävät sen rajoitukset, mutta testi on suosittu, koska se näyttää yhden numeron ja sitä on käytetty useita vuosia." [22]

Dongarran mukaan "Top500 pyrkii aktiivisesti laajentamaan vertailuarvojen kattavuutta", koska "on tärkeää sisällyttää enemmän suorituskykyominaisuuksia ja allekirjoituksia jokaiselle kilpailijalle". [23] Yksi TOP500-testien täydentävistä vaihtoehdoista on HPC Challenge Benchmark -sarja [24] . Petaflops -supertietokoneiden (Petascale) tultua käyttöön Graph500- testiä , joka mittaa kuljetettujen reunojen määrää sekunnissa (TEPS), ehdotettiin vaihtoehtona LINPACKin mittaamalle FLOPS:lle [25] . Toinen vaihtoehto on Dongarran ehdottama HPCG-suorituskykytesti . [26] [27]

Testin suoritusaika

Jack Dongarran mukaan aika, joka HPLinpack-testin on suoritettava hyvien tulosten saamiseksi, kasvaa vähitellen. Konferenssissa vuonna 2010 hän sanoi, että "muutaman vuoden" jälkeen hän odottaa laukaisun keston pidentyvän noin 2,5 päivään. [28]

Katso myös

Muistiinpanot

  1. CPU-suorituskykytestit - LINPACK // parallel.ru / Arkistoitu 13. marraskuuta 2018 Wayback Machinessa
  2. 1 2 3 4 5 Dongarra, Jack J.; Luszczek, Piotr & Petitet, Antoine (2003), The LINPACK Benchmark: menneisyys, nykyisyys ja tulevaisuus , Samanaikaisuus ja laskeminen: käytäntö ja kokemus (John Wiley & Sons, Ltd.): 803–820 , < http://www.netlib .org/utk/people/JackDongarra/PAPERS/hplpaper.pdf > Arkistoitu 20. tammikuuta 2019 Wayback Machinessa 
  3. Sander Olsonin Jack Dongarran haastattelu , < http://nextbigfuture.com/2010/06/jack-dongarra-interview-by-sander-olson.html > Arkistoitu 4. maaliskuuta 2016 Wayback Machinessa 
  4. Dongarra, JJ; Moler, C. B.; Bunch, JR & Stewart, GW (1979), LINPACK: käyttäjän opas , ,9780898711721ISBN,SIAM > 
  5. Dongarra, Jack (1988), The LINPACK benchmark: An selitys , Supercomputing (Springer Berlin/Heidelberg): 456–474 , < http://www.netlib.org/utk/people/JackDongarra/PAPERS/The-LINPACK- Benchmark-An-Explanation.pdf > Arkistoitu 4. huhtikuuta 2019 Wayback Machinessa 
  6. High Performance Linpack Benchmark , < http://icl.cs.utk.edu/graphics/posters/files/SC2010-HPL.pdf > . Haettu 10. helmikuuta 2015. Arkistoitu 4. maaliskuuta 2016 Wayback Machinessa 
  7. Bailey, D.H.; Barszcz, E.; Barton, JT & Browning, DS (1991), The NAS rinnakkaisten vertailuarvojen yhteenveto ja alustavat tulokset , Supercomputing : 158–165 , < http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5348941&isnumber=6348 > 
  8. LINPACK FAQ - Voinko käyttää Strassenin menetelmää tehdessäni matriisin kerrannaisia ​​HPL-benchmarkissa tai Top500-ajossa? . Käyttöpäivä: 10. helmikuuta 2015. Arkistoitu alkuperäisestä 1. syyskuuta 2009.
  9. LINPACK FAQ - Minkä tarkkuuden ratkaisun tulee olla? . Käyttöpäivä: 10. helmikuuta 2015. Arkistoitu alkuperäisestä 1. syyskuuta 2009.
  10. Linpack benchmark -ohjelma Fortranissa . Haettu 10. helmikuuta 2015. Arkistoitu alkuperäisestä 20. helmikuuta 2015.
  11. Linpack-vertailuohjelma C -kielellä. Haettu 10. helmikuuta 2015. Arkistoitu alkuperäisestä 20. helmikuuta 2015.
  12. Linpack-vertailuohjelma Javassa . Haettu 10. helmikuuta 2015. Arkistoitu alkuperäisestä 10. helmikuuta 2015.
  13. HPL – High Performance Linpack Benchmarkin kannettava toteutus hajautetun muistin tietokoneille . Haettu 10. helmikuuta 2015. Arkistoitu alkuperäisestä 15. helmikuuta 2015.
  14. HPL-algoritmi . Haettu 13. joulukuuta 2019. Arkistoitu alkuperäisestä 25. lokakuuta 2019.
  15. HPL yleiskatsaus . Haettu 10. helmikuuta 2015. Arkistoitu alkuperäisestä 10. helmikuuta 2015.
  16. Haastattelu supertietokonelegenda Jack Dongarran kanssa (downlink) (24. toukokuuta 2012). Haettu 13. joulukuuta 2019. Arkistoitu alkuperäisestä 3. helmikuuta 2013. 
  17. Haigh, Thomas Jack J. Dongarran haastattelu (2004). "LINPACK on benchmark, jota ihmiset usein mainitsevat, koska siellä on niin historiallinen tietokanta, koska sitä on melko helppo käyttää, se on helppo ymmärtää ja se kaappaa jossain mielessä ohjelmoinnin parhaat ja huonoimmat ominaisuudet." Haettu 13. joulukuuta 2019. Arkistoitu alkuperäisestä 12. tammikuuta 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 > Arkistoitu 13. heinäkuuta 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 > Arkistoitu kopio 29. tammikuuta 2012 Wayback Machinessa 
  20. Dongarra, Jack J. (2007), HPC Challenge Benchmark: Ehdokas Linpackin korvaamiseen Top500:ssa? , SPEC Benchmark Workshop , < http://www.spec.org/workshops/2007/austin/slides/Keynote_Jack_Dongarra.pdf > Arkistoitu 4. maaliskuuta 2021 Wayback Machinessa 
  21. Christopher Mims . Miksi Kiinan uusi supertietokone on vain teknisesti maailman nopein  (8. marraskuuta 2010). Arkistoitu alkuperäisestä 21. lokakuuta 2012. Haettu 22. syyskuuta 2011.
  22. Meuer, Martin Haastattelu supertietokonelegendan jack dongarran kanssa (downlink) (24. toukokuuta 2002). Haettu 10. helmikuuta 2015. Arkistoitu alkuperäisestä 3. helmikuuta 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 > Arkistoitu 1. maaliskuuta 2021 Wayback Machinessa 
  24. ↑ Top 500 -sijoitus ja edistys tehokkaassa tietojenkäsittelyssä  . avoimet järjestelmät. DBMS, 2006 nro 1 (1. helmikuuta 2016). Haettu 13. joulukuuta 2019. Arkistoitu alkuperäisestä 13. joulukuuta 2019.
  25. Hemsoth, Nicole . Uusi HPC Benchmark tarjoaa lupaavia tuloksia , HPCWire (26. kesäkuuta 2014). Arkistoitu alkuperäisestä 8. syyskuuta 2014. Haettu 8. syyskuuta 2014.
  26. Supertietokoneet: Uudet arkkitehtuurit vaativat uusia mittausmenetelmiä . itWeek (27. marraskuuta 2015). Haettu 13. joulukuuta 2019. Arkistoitu alkuperäisestä 5. huhtikuuta 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 > Arkistoitu kopio päivätty 17. tammikuuta 2014 Wayback Machinessa 

Linkit