Testy výkonu LINPACK

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 14. srpna 2022; ověření vyžaduje 1 úpravu .
Benchmark Linpack
Typ zkouška výkonu
Autor Jack Dongarra , Jim Bunch, Cleve Moler , Gilbert Stewart
První vydání 1979 ( 1979 )
webová stránka netlib.org/benchmark/hpl/

Benchmarky LINPACK měří výpočetní výkon počítačů při zpracování čísel s pohyblivou řádovou čárkou . Vytvořil je Jack Dongarra v roce 1979 a měří, jak rychle může počítač vyřešit hustý systém lineárních rovnic (SLAE) Ax=b , kde A je matice n x n . Podobný problém často nastává v oblasti strojírenství .

Nejnovější verze těchto benchmarků se používá k sestavení TOP500 , seznamu, který uvádí světově nejvýkonnější superpočítače. [2]

Účelem tvorby testů je vyhodnotit rychlost řešení reálných problémů počítačem. Bodování pomocí jediného testu je však zjednodušením, protože žádná jednotlivá výpočetní úloha nemůže odrážet celkový výkon počítačového systému. Výkon LINPACK pro poskytování údajů pro upřesnění špičkového výkonu poskytovaného výrobcem počítače (špičkový výkon je maximální teoretický výkon, kterého může počítač dosáhnout, vypočtený jako součin rychlosti hodin procesoru a počtu operací provedených za hodinu), skutečný výkon výkon bude vždy nižší než maximální výkon [3] . Výkon počítače je komplexní charakteristika, která závisí na mnoha vzájemně souvisejících komponentách. Výkon měřený benchmarkem LINPACK ukazuje počet 64bitových operací s pohyblivou řádovou čárkou (sčítání a násobení), které počítač provedl za sekundu, poměr označovaný jako „ FLOPS “. Výkon počítače při spouštění skutečných aplikací však bude pravděpodobně výrazně nižší než maximální výkon dosažený při spuštění odpovídajícího testu LINPACK. [čtyři]

Název těchto testů je odvozen od balíčku LINPACK , sady fortranských algebraických rutin široce používaných v 80. letech a původně úzce souvisejících s testem LINPACK. Balíček LINPACK byl od té doby nahrazen jinými knihovnami.

Historie

Benchmark LINPACK se poprvé objevil v roce 1979 jako příloha uživatelské příručky matematické knihovny LINPACK . [5]

LINPACK byl navržen tak, aby pomohl uživatelům odhadnout čas, který jejich počítačovým systémům trvá dokončení úkolů pomocí balíčku LINPACK . K tomu se extrapolují výsledky výkonu získané na 23 různých počítačích řešících problém s velikostí matice 100 x 100 prvků.

Tato velikost úlohy byla zvolena s ohledem na charakteristické velikosti paměti a výkon procesoru v té době:

V průběhu let byly vydány další verze s většími různými velikostmi problémů, jako jsou matice čísel 300 x 300 a 1000 x 1000. Objevily se také implementace, které využívají hardwarové schopnosti k urychlení operací matic-vektor a matice-matice. [6] Paralelní zpracování dat se objevilo ve variantě testu LINPACK Parallel na konci 80. let. [3]

V roce 1991 byl test LINPACK upraven tak, aby řešil problémy libovolné velikosti [7] , což umožnilo vysoce výkonným počítačům (HPC) přiblížit se jejich asymptotickému výkonu.

Od roku 1993 se tento test používá k sestavení žebříčku TOP500 .

Benchmarky

LINPACK 100

LINPACK 100 je velmi blízký původnímu testu publikovanému v roce 1979 v uživatelské příručce LINPACK ( ISBN 089871172X ). Řešení SLAE se vyrábí pomocí gaussovské eliminace s částečnou rotací , prováděním operací 2/3 n³ + 2n² s plovoucí desetinnou čárkou, kde n je 100 a hustá matice A je 100 x 100. Malá velikost matice a nedostatečná flexibilita softwaru jsou několik moderních počítačů prokázalo v tomto testu výkon blízký maximu. Tento benchmark však může být stále užitečný při předpovídání výkonu v numericky náročném vlastním kódu zkompilovaném s optimalizacemi. [3]

LINPACK 1000

LINPACK 1000 zvětšuje velikost matice na 1000 na 1000 prvků a poskytuje výkon blížící se maximu pro počítač. Změny v algoritmu jsou povoleny, ale není povoleno snížení relativní přesnosti řešení. Při výpočtu výkonu testu je vzorec pro počet provedených plovoucích operací vždy 2 / 3n³ + 2n² s hodnotou n = 1000. [3]

HPLinpack

Předchozí generace testu nebyly vhodné pro testování paralelních počítačů [8] a byl vyvinut tzv. test „Linpack's Highly Parallel Computing“ alias HPLinpack. V novém testu lze velikost úlohy n zvětšit na velikost nezbytnou pro optimalizaci výkonu stroje. Stále se používá vzorec počtu operací 2 / 3n³ + 2n² bez ohledu na skutečně použitý algoritmus. Použití Strassenova algoritmu není povoleno, protože zkresluje skutečnou rychlost provádění. [9] Přesnost nalezeného řešení musí být taková, aby byla splněna následující vlastnost:

, kde je přesnost stroje a n je velikost problému, [10] je norma matice a odpovídá zápisu velký-O („O“ velký).

Pro každý počítačový systém jsou hlášena následující množství: [3]

Tyto výsledky jsou použity k sestavení žebříčku TOP500 nejrychlejších superpočítačů světa, stejně jako Green500 . Vychází dvakrát ročně.

Implementace testů LINPACK

Předchozí část popisovala základní pravidla pro benchmarky. Vlastní implementace programu se může lišit, existují varianty pro Fortran , [11] C [12] a Java [13] .

HPL

HPL je mobilní implementace úlohy HPLinpack vytvořená v programovacím jazyce C. Původně sloužil jako vzorová implementace, ale od té doby se široce používá k získávání dat pro seznam TOP500 , ačkoli mohou být použity i jiné implementace a balíčky. HPL vytváří lineární soustavu rovnic řádu n s náhodnými koeficienty a následně ji řeší pomocí LU rozkladu s částečnou rotací řádků. Implementace vyžaduje nainstalované implementace MPI (knihovny předávání zpráv) a matematickou knihovnu: BLAS nebo VSIPL [14] .

Obecně má tato implementace následující vlastnosti: [15] [16]

Kritika

Někdy se tvrdí, že úspěch testu LINPACK je způsoben dobrou škálovatelností úlohy HPLinpack [17] , skutečností, že výsledkem testu je jediné číslo, které lze snadno porovnat, a velkým množstvím historických dat. . [18] Krátce po svém představení byl však LINPACK kritizován za to, že prokázal úrovně výkonu „obecně mimo dosah všech, kromě velmi malého počtu programátorů, kteří zdlouhavě optimalizovali svůj kód pro a pouze pro daný počítač“. [19] Benchmark testuje rychlost řešení hustých lineárních systémů , ale tato úloha není reprezentativní pro všechny operace běžně prováděné ve vědeckých počítačích. [20] Jack Dongarra , spoluautor testů LINPACK a seznamu TOP500, poznamenal, že tyto testy se zaměřují pouze na „špičkovou“ rychlost procesorů a počty, zatímco nevyužívají místní paměťové sběrnice a síťová propojení. [21]

Tom Dunning, Jr., ředitel Národního centra pro superpočítačové aplikace, popsal test LINPACK takto: „Test Linpack je jedním z těch zajímavých fenoménů, jehož užitečnosti se vysmívá téměř každý, kdo o něm ví. Chápou jeho omezení, ale test je populární, protože ukazuje jediné číslo a používá se mnoho let.“ [22]

Podle Dongarra se „Top500 aktivně snaží rozšířit pokrytí benchmarků“, protože „je důležité zahrnout více výkonnostních funkcí a podpisů pro každého konkurenta“. [23] Jednou z možností doplnění testů pro TOP500 je sada HPC Challenge Benchmark [24] . S příchodem superpočítačů petaflops (Petascale) byl jako alternativa k FLOPS měřeným pomocí LINPACK navržen test Graph500 , který měří počet hran projetých za sekundu (TEPS ) . Další alternativou je test výkonnosti HPCG navržený Dongarrou. [26] [27]

Doba provedení testu

Podle Jacka Dongarry se doba, kterou test HPLinpack potřebuje k provedení, aby dosáhl dobrých výsledků, postupně prodlužuje. Na konferenci v roce 2010 řekl, že po „pár letech“ očekává prodloužení doby startu na zhruba 2,5 dne. [28]

Viz také

Poznámky

  1. Testy výkonu CPU – LINPACK // parallel.ru / Archivováno 13. listopadu 2018 na Wayback Machine
  2. 1 2 3 4 5 Dongarra, Jack J.; Luszczek, Piotr & Petitet, Antoine (2003), Benchmark LINPACK: minulost, přítomnost a budoucnost , Souběžnost a počítání: praxe a zkušenosti (John Wiley & Sons, Ltd.): 803–820 , < http://www.netlib .org/utk/people/JackDongarra/PAPERS/hplpaper.pdf > Archivováno 20. ledna 2019 na Wayback Machine 
  3. Rozhovor s Jackem Dongarrou od Sandera Olsona , < http://nextbigfuture.com/2010/06/jack-dongarra-interview-by-sander-olson.html > Archivováno 4. března 2016 na Wayback Machine 
  4. Dongarra, JJ; Moler, C. B.; Bunch, JR & Stewart, GW (1979), LINPACK: uživatelská příručka , ,9780898711721ISBN,SIAM > 
  5. Dongarra, Jack (1988), Benchmark LINPACK: Vysvětlení , Supercomputing (Springer Berlin/Heidelberg): 456–474 , < http://www.netlib.org/utk/people/JackDongarra/PAPERS/The-LINPACK- Benchmark-An-Explanation.pdf > Archivováno 4. dubna 2019 na Wayback Machine 
  6. High Performance Linpack Benchmark , < http://icl.cs.utk.edu/graphics/posters/files/SC2010-HPL.pdf > . Získáno 10. února 2015. Archivováno 4. března 2016 na Wayback Machine 
  7. Bailey, D.H.; Barszcz, E.; Barton, JT & Browning, DS (1991), Souhrn paralelních benchmarků NAS a předběžné výsledky , Supercomputing : 158–165 , < http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5348941&isnumber=5348846 > 
  8. LINPACK FAQ - Mohu použít Strassenovu metodu při provádění násobků matic v benchmarku HPL nebo pro běh Top500? . Datum přístupu: 10. února 2015. Archivováno z originálu 1. září 2009.
  9. LINPACK FAQ - Jakou přesnost musí řešení splňovat? . Datum přístupu: 10. února 2015. Archivováno z originálu 1. září 2009.
  10. Benchmarkový program Linpack ve Fortranu . Získáno 10. února 2015. Archivováno z originálu 20. února 2015.
  11. Benchmarkový program Linpack v C. Získáno 10. února 2015. Archivováno z originálu 20. února 2015.
  12. Benchmarkový program Linpack v Javě . Získáno 10. února 2015. Archivováno z originálu 10. února 2015.
  13. HPL – přenosná implementace vysoce výkonného benchmarku Linpack pro počítače s distribuovanou pamětí . Získáno 10. února 2015. Archivováno z originálu 15. února 2015.
  14. Algoritmus HPL . Získáno 13. prosince 2019. Archivováno z originálu dne 25. října 2019.
  15. Přehled HPL . Získáno 10. února 2015. Archivováno z originálu 10. února 2015.
  16. Rozhovor s legendou superpočítačů Jackem Dongarrou (downlink) (24. května 2012). Získáno 13. prosince 2019. Archivováno z originálu 3. února 2013. 
  17. Haigh, Thomas Rozhovor s Jackem J. Dongarrou (2004). "LINPACK je měřítko, které lidé často citují, protože tam je taková historická databáze informací, protože je poměrně snadno spustitelná, je poměrně snadno pochopitelná a v určitém smyslu zachycuje to nejlepší a nejhorší z programování." Získáno 13. prosince 2019. Archivováno z originálu 12. ledna 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 > Archivováno 13. července 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 > Archivovaná kopie 29. ledna 2012 na Wayback Machine 
  20. Dongarra, Jack J. (2007), Test HPC Challenge: Kandidát na nahrazení Linpacku v Top500? , SPEC Benchmark Workshop , < http://www.spec.org/workshops/2007/austin/slides/Keynote_Jack_Dongarra.pdf > Archivováno 4. března 2021 na Wayback Machine 
  21. Christopher Mims . Proč je nový čínský superpočítač pouze technicky nejrychlejší na světě  (8. listopadu 2010). Archivováno z originálu 21. října 2012. Staženo 22. září 2011.
  22. Meuer, Martin Rozhovor s legendou superpočítačů jackem Dongarrou (downlink) (24. května 2002). Získáno 10. února 2015. Archivováno z originálu 3. února 2013. 
  23. Luszczek, Piotr; Dongarra, Jack J.; Koester, David & Rabenseifner, Rolf (2005), Úvod do HPC Challenge Benchmark Suite , < http://icl.cs.utk.edu/projectsfiles/hpcc/pubs/hpcc-challenge-benchmark05.pdf > Archivováno od 1. března 2021 na Wayback Machine 
  24. ↑ Top500 žebříček a pokrok ve vysoce výkonných počítačích  . otevřené systémy. DBMS, 2006 č. 1 (1. února 2016). Staženo 13. prosince 2019. Archivováno z originálu 13. prosince 2019.
  25. Hemsoth, Nicole . Nový HPC Benchmark přináší slibné výsledky , HPCWire (26. června 2014). Archivováno z originálu 8. září 2014. Staženo 8. září 2014.
  26. Superpočítače: Nové architektury vyžadují nové metody měření . itWeek (27. listopadu 2015). Získáno 13. prosince 2019. Archivováno z originálu dne 5. dubna 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 > Archivováno kopie ze dne 17. ledna 2014 na Wayback Machine 

Odkazy