LINPACK teljesítménytesztek

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2022. augusztus 14-én felülvizsgált verziótól ; az ellenőrzéshez 1 szerkesztés szükséges .
Benchmark Linpack
Típusú teljesítményteszt
Szerző Jack Dongarra , Jim Bunch, Cleve Moler , Gilbert Stewart
Első kiadás 1979 ( 1979 )
Weboldal netlib.org/benchmark/hpl/

A LINPACK benchmarkok a számítógépek számítási teljesítményét mérik a lebegőpontos számok feldolgozása során. Jack Dongarra készítette1979-ben, és azt mérik, hogy egy számítógép milyen gyorsan képes megoldani egy sűrű lineáris egyenletrendszert (SLAE) Ax=b , ahol A egy n x n mátrix. Hasonló probléma gyakran felmerül a gépészet területén is .

E benchmarkok legújabb verzióját használják a TOP500 összeállításához , amely lista a világ legjobban teljesítő szuperszámítógépeit sorolja fel. [2]

A tesztek létrehozásának célja a valós problémák számítógépes megoldásának sebességének értékelése. Az egyetlen teszttel végzett pontozás azonban leegyszerűsítés, mivel egyetlen számítási feladat sem tükrözheti a számítógépes rendszer általános teljesítményét. LINPACK teljesítmény a számítógép gyártója által biztosított csúcsteljesítmény finomításához szükséges adatok biztosításához (a csúcsteljesítmény a számítógép által elérhető maximális elméleti teljesítmény, a processzor órajelének és az óránként végrehajtott műveletek számának szorzataként számítva), a tényleges a teljesítmény mindig alacsonyabb lesz, mint a maximális teljesítmény [3] . A számítógép teljesítménye egy összetett jellemző, amely számos, egymással összefüggő összetevőtől függ. A LINPACK benchmark által mért teljesítmény a számítógép által másodpercenként végrehajtott 64 bites lebegőpontos műveletek (összeadások és szorzások) számát mutatja, ez az arány " FLOPS ". Azonban a számítógép teljesítménye valós alkalmazások futtatásakor valószínűleg jelentősen alacsonyabb, mint az arányos LINPACK teszt futtatásakor elért maximális teljesítmény. [négy]

Ezeknek a teszteknek a neve a LINPACK csomagból származik, amely az 1980-as években széles körben használt Fortran algebrai rutinkészlet, amely eredetileg szorosan kapcsolódik a LINPACK teszthez. A LINPACK csomagot azóta más könyvtárak váltották fel.

Történelem

A LINPACK benchmark először 1979-ben jelent meg a LINPACK matematikai könyvtár felhasználói kézikönyvének mellékleteként . [5]

A LINPACK-ot arra tervezték, hogy segítse a felhasználókat annak megbecslésében, mennyi időbe telik számítógépes rendszereiknek a feladatok elvégzéséhez a LINPACK csomag használatával . Ehhez a 23 különböző, 100x100 elemű mátrixméretű feladatot megoldó számítógépen kapott teljesítményeredményeket extrapoláljuk.

Ezt a feladatméretet az adott korszak jellemző memóriaméreteinek és processzorteljesítményének figyelembevételével választották ki:

Az évek során további verziók jelentek meg nagyobb, különböző problémaméretekkel, például 300 x 300 és 1000 x 1000 számmátrixokkal. Megjelentek olyan implementációk is, amelyek hardveres képességeket használnak a mátrix-vektor és a mátrix-mátrix műveletek felgyorsítására. [6] A párhuzamos adatfeldolgozás a LINPACK Parallel teszt egyik változatában jelent meg az 1980-as évek végén. [3]

1991-ben a LINPACK tesztet módosították tetszőleges méretű problémák megoldására [7] , lehetővé téve a nagy teljesítményű számítógépek (HPC) számára, hogy megközelítsék aszimptotikus teljesítményüket.

1993 óta ezt a tesztet használják a TOP500 rangsor összeállításához .

Benchmarkok

LINPACK 100

A LINPACK 100 nagyon közel áll az eredeti teszthez, amelyet 1979-ben tettek közzé a LINPACK felhasználói kézikönyvben ( ISBN 089871172X ). Az SLAE megoldást részleges forgású Gauss-eliminációval állítják elő, 2/3 n³ + 2n² lebegőpontos műveleteket végrehajtva, ahol n 100 és sűrű A mátrix 100 x 100. A mátrix kis mérete és a szoftveres rugalmasság hiánya néhány modern számítógép a maximumhoz közeli teljesítmény bizonyítására ezen a teszten. Ez a viszonyítási alap azonban továbbra is hasznos lehet a teljesítmény előrejelzésében az optimalizálásokkal összeállított, numerikusan intenzív egyéni kódokban. [3]

LINPACK 1000

A LINPACK 1000 1000-re 1000 elemre növeli a mátrix méretét, és a számítógép maximális teljesítményéhez közelít. Az algoritmus változtatása megengedett, azonban a megoldás relatív pontosságának csökkentése nem megengedett. A teszt teljesítményének kiszámításakor az elvégzett lebegő műveletek számának képlete mindig 2 / 3n³ + 2n², n = 1000 értékkel. [3]

HPLinpack

A teszt korábbi generációi nem voltak alkalmasak párhuzamos számítógépek tesztelésére, [8] ezért kifejlesztették az úgynevezett "Linpack's Highly Parallel Computing" tesztet, más néven HPLinpack-et. Az új tesztben az n feladat mérete a gép teljesítményének optimalizálásához szükséges méretre növelhető. A 2 / 3n³ + 2n² műveletszám képlet továbbra is használatos, függetlenül a ténylegesen használt algoritmustól. A Strassen-algoritmus használata nem megengedett, mert torzítja a tényleges végrehajtási sebességet. [9] A megtalált megoldás pontosságának olyannak kell lennie, hogy a következő tulajdonság teljesüljön:

, ahol a gép pontossága, és n a probléma mérete, [10] a mátrix normája , és megfelel a big-O ("O" big) jelölésnek.

A következő mennyiségeket jelentik minden számítógépes rendszerhez: [3]

Ezeket az eredményeket használják fel a világ leggyorsabb szuperszámítógépeinek TOP500 -as listájának , valamint a Green500 -as listájának összeállításához . Megjelenik évente kétszer.

LINPACK tesztek megvalósítása

Az előző rész ismertette a benchmarkok alapszabályait. A program tényleges megvalósítása eltérhet, vannak Fortran , [11] C [12] és Java [13] változatai .

HPL

A HPL a HPLinpack feladat mobil megvalósítása C programozási nyelven. Eredetileg mintamegvalósításként szolgált, de azóta széles körben használják a TOP500-as lista adatainak megszerzésére , bár más megvalósítások és csomagok is használhatók. A HPL n-edrendű lineáris egyenletrendszert hoz létre véletlenszerű együtthatókkal, majd ezt egy LU-felbontással oldja meg részleges sorforgatással. A megvalósításhoz MPI (message passing libraries) telepített implementációira és egy matematikai könyvtárra van szükség: BLAS vagy VSIPL [14] .

Általában ennek a megvalósításnak a következő jellemzői vannak: [15] [16]

Kritika

Néha azt állítják, hogy a LINPACK teszt sikere a HPLinpack [17] feladat jó skálázhatóságának, annak a ténynek, hogy a teszt eredménye egyetlen, könnyen összehasonlítható szám, valamint a nagy mennyiségű történelmi adatnak köszönhető. . [18] Mindazonáltal, röviddel a bevezetése után a LINPACK-ot kritizálták amiatt, hogy olyan teljesítményszinteket mutatott be, amelyek "általában olyan szintűek, amelyek túlmutatnak azon programozók számára, akik csak nagyon kis számú programozót fárasztóan optimalizálnak egy adott számítógépre és csak egy adott számítógépre". [19] A Benchmark a sűrű lineáris rendszerek megoldásának sebességét teszteli , de ez a feladat nem jellemző a tudományos számítástechnikában általánosan végrehajtott összes műveletre. [20] Jack Dongarra , a LINPACK-tesztek és a TOP500-as lista társszerzője megjegyezte, hogy ezek a tesztek csak a "csúcs" processzorsebességre és -számra összpontosítanak, miközben nem használják ki a helyi memóriabuszokat és a hálózati összeköttetéseket. [21]

Tom Dunning, Jr., a National Center for Supercomputing Applications igazgatója a következőképpen jellemezte a LINPACK tesztet: „A Linpack teszt egyike azon érdekes jelenségeknek, amelyek hasznosságát szinte mindenki nevetségessé teszi, aki tud róla. Megértik a korlátait, de a teszt népszerű, mert egyetlen számot mutat, és sok éve használják.” [22]

Dongarra szerint "A Top500 aktívan igyekszik bővíteni a benchmark benchmarkok lefedettségét", mert "fontos, hogy minden versenytárs számára több teljesítményjellemző és aláírás szerepeljen." [23] A TOP500 tesztek kiegészítésének egyik lehetősége a HPC Challenge Benchmark készlet [24] . A petaflops szuperszámítógépek ( Petascale) megjelenésével a LINPACK által mért FLOPS alternatívájaként javasolták a Graph500 tesztet , amely a másodpercenként áthaladt élek számát (TEPS) méri [25] . Egy másik alternatíva a Dongarra által javasolt HPCG teljesítményteszt . [26] [27]

Teszt végrehajtási ideje

Jack Dongarra szerint fokozatosan növekszik a HPLinpack tesztnek a jó eredmények eléréséhez szükséges ideje. Egy 2010-es konferencián elmondta, hogy "néhány év" elteltével az indulás időtartamának körülbelül 2,5 napra való növekedésére számít. [28]

Lásd még

Jegyzetek

  1. CPU teljesítménytesztek - LINPACK // parallel.ru / Archiválva : 2018. november 13. a Wayback Machine -nél
  2. 1 2 3 4 5 Dongarra, Jack J.; Luszczek, Piotr & Petitet, Antoine (2003), The LINPACK Benchmark: múlt, jelen és jövő , Egyidejűség és számítás: gyakorlat és tapasztalat (John Wiley & Sons, Ltd.): 803–820 , < http://www.netlib .org/utk/people/JackDongarra/PAPERS/hplpaper.pdf > Archivált : 2019. január 20. a Wayback Machine -nél 
  3. Jack Dongarra interjú, Sander Olson , < http://nextbigfuture.com/2010/06/jack-dongarra-interview-by-sander-olson.html > Archivált : 2016. március 4. a Wayback Machine -nél 
  4. Dongarra, JJ; Moler, C. B.; Bunch, JR & Stewart, GW (1979), LINPACK: felhasználói útmutató , ,9780898711721ISBN,SIAM > 
  5. Dongarra, Jack (1988), The LINPACK benchmark: An magyarázat , Supercomputing (Springer Berlin/Heidelberg): 456–474 , < http://www.netlib.org/utk/people/JackDongarra/PAPERS/The-LINPACK- Benchmark-An-Explanation.pdf > Archiválva : 2019. április 4. a Wayback Machine -nél 
  6. High Performance Linpack Benchmark , < http://icl.cs.utk.edu/graphics/posters/files/SC2010-HPL.pdf > . Letöltve: 2015. február 10. Archiválva : 2016. március 4. a Wayback Machine -nél 
  7. Bailey, D. H.; Barszcz, E.; Barton, JT és Browning, DS (1991), The NAS parallel benchmarks summary and preliminary results , Supercomputing : 158–165 , < http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5348941&isnumber=63488 > 
  8. LINPACK GYIK – Használhatom a Strassen-módszert, amikor a HPL benchmarkban vagy a Top500 futásnál a mátrixszorosokat végzem? . Hozzáférés dátuma: 2015. február 10. Az eredetiből archiválva : 2009. szeptember 1..
  9. LINPACK GYIK – Milyen pontosságúnak kell megfelelnie a megoldásnak? . Hozzáférés dátuma: 2015. február 10. Az eredetiből archiválva : 2009. szeptember 1..
  10. Linpack benchmark program a Fortranban . Letöltve: 2015. február 10. Az eredetiből archiválva : 2015. február 20..
  11. Linpack benchmark program C nyelven. Letöltve: 2015. február 10. Az eredetiből archiválva : 2015. február 20..
  12. Linpack benchmark program Java nyelven . Letöltve: 2015. február 10. Az eredetiből archiválva : 2015. február 10..
  13. HPL – A nagy teljesítményű Linpack benchmark hordozható megvalósítása elosztott memóriás számítógépekhez . Letöltve: 2015. február 10. Az eredetiből archiválva : 2015. február 15.
  14. HPL algoritmus . Letöltve: 2019. december 13. Az eredetiből archiválva : 2019. október 25.
  15. HPL áttekintés . Letöltve: 2015. február 10. Az eredetiből archiválva : 2015. február 10..
  16. Interjú a szuperszámítógépek legendájával, Jack Dongarrával (downlink) (2012. május 24.). Letöltve: 2019. december 13. Az eredetiből archiválva : 2013. február 3.. 
  17. Haigh, Thomas Interjú Jack J. Dongarrával (2004). "A LINPACK egy benchmark, amelyet az emberek gyakran hivatkoznak, mert van egy ilyen történelmi információs adatbázis, mert meglehetősen könnyen futtatható, könnyen érthető, és bizonyos értelemben a legjobb és legrosszabb programozást rögzíti." Letöltve: 2019. december 13. Az eredetiből archiválva : 2021. január 12.
  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 > Archiválva július 13. 2012. 
  19. Gahvari, Hormozd; Hoemmen, Mark; Demmel, James és Yelick, Katherine (2006), Benchmarking Sparse Matrix-Vector Multiply in Five Minutes , SPEC Benchmark Workshop , < http://bebop.cs.berkeley.edu/pubs/gahvari2007-spmvbench-spec.pdf > Archivált másolat 2012. január 29-én a Wayback Machine -ben 
  20. Dongarra, Jack J. (2007), The HPC Challenge Benchmark: A Candidate for Replaceing Linpack in the Top500? , SPEC Benchmark Workshop , < http://www.spec.org/workshops/2007/austin/slides/Keynote_Jack_Dongarra.pdf > Archivált : 2021. március 4. a Wayback Machine -nél 
  21. Christopher Mims . Miért csak technikailag a világ leggyorsabb kínai új szuperszámítógépe  (2010. november 8.). Archiválva az eredetiből 2012. október 21-én. Letöltve: 2011. szeptember 22.
  22. Meuer, Martin Interjú a szuperszámítástechnikai legendával, jack Dongarrával (lefelé irányuló kapcsolat) (2002. május 24.). Letöltve: 2015. február 10. Az eredetiből archiválva : 2013. február 3.. 
  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 > Archivált : március 1. 2021 a Wayback Machine -nél 
  24. ↑ Top500 helyezés és előrelépés a nagy teljesítményű számítástechnikában  . nyílt rendszerek. DBMS, 2006 No. 1 (2016. február 1.). Letöltve: 2019. december 13. Az eredetiből archiválva : 2019. december 13.
  25. Hemsoth, Nicole . Az új HPC Benchmark ígéretes eredményeket ad, HPCWire (2014. június 26.). Az eredetiből archiválva: 2014. szeptember 8. Letöltve: 2014. szeptember 8.
  26. Szuperszámítógépek: Az új architektúrák új mérési módszereket igényelnek . itWeek (2015. november 27.). Letöltve: 2019. december 13. Az eredetiből archiválva : 2022. április 5..
  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 > Archivált 2014. január 17-én kelt példány a Wayback Machine -nél 

Linkek