Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

LINPACK benchmarks

From Wikipedia, the free encyclopedia
(Redirected fromLINPACK benchmark)
Measure of a systems floating point architecture
For the software library, seeLINPACK.
LINPACK benchmarks
Original authorsJack Dongarra, Jim Bunch,Cleve Moler, and Gilbert Stewart
Initial release1979 (1979)
Websitenetlib.org/benchmark/hpl/

TheLINPACK benchmarks are a measure of a system'sfloating-point computing power. Introduced byJack Dongarra, they measure how fast a computer solves a densen × nsystem of linear equationsAx = b, which is a common task inengineering.

The latest version of thesebenchmarks is used to build theTOP500 list, ranking the world's most powerful supercomputers.[1]

The aim is to approximate how fast a computer will perform when solving real problems. It is a simplification, since no single computational task can reflect the overall performance of a computer system. Nevertheless, the LINPACK benchmark performance can provide a good correction over the peak performance provided by the manufacturer. The peak performance is the maximal theoretical performance a computer can achieve, calculated as the machine's frequency, in cycles per second, times the number of operations per cycle it can perform. The actual performance will always be lower than the peak performance.[2] Theperformance of a computer is a complex issue that depends on many interconnected variables. The performance measured by the LINPACK benchmark consists of the number of64-bit floating-point operations, generally additions and multiplications, a computer can perform per second, also known asFLOPS. However, a computer's performance when running actual applications is likely to be far behind the maximal performance it achieves running the appropriate LINPACK benchmark.[3]

The name of these benchmarks comes from theLINPACK package, a collection of algebraFortran subroutines widely used in the 1980s, and initially tightly linked to the LINPACK benchmark. The LINPACK package has since been replaced by other libraries.

History

[edit]

The LINPACK benchmark report appeared first in 1979 as an appendix to theLINPACK user's manual.[4]

LINPACK was designed to help users estimate the time required by their systems to solve a problem using the LINPACK package, by extrapolating the performance results obtained by 23 different computers solving a matrix problem of size 100.

This matrix size was chosen due to memory and CPU limitations at that time:

  • 10,000 floating-point entries from −1 to 1 are randomly generated to fill in a general dense matrix,
  • thenLU decomposition with partial pivoting is used for the timing.

Over the years, additional versions with different problem sizes, like matrices of order 300 and 1000, and constraints were released, allowing new optimization opportunities as hardware architectures started to implement matrix–vector and matrix–matrix operations.[5]

Parallel processing was also introduced in the LINPACK parallel benchmark in the late 1980s.[2]

In 1991, the LINPACK was modified for[6]solving problems of arbitrary size, enablinghigh-performance computers (HPC) to get near to their asymptotic performance.

Two years later this benchmark was used for measuring the performance of the firstTOP500 list.

The benchmarks

[edit]

LINPACK 100

[edit]

LINPACK 100 is very similar to the original benchmark published in 1979 along with the LINPACK users' manual.[7]The solution is obtained byGaussian elimination withpartial pivoting, with2/3n3+2n2{\displaystyle 2/3\,n^{3}+2n^{2}} floating-point operations, wheren = 100 is the order of the dense matrixA that defines the problem. Its small size and the lack of software flexibility doesn't allow most modern computers to reach their performance limits. However, it can still be useful to predict performances in numerically intensive user-written code usingcompiler optimization.[2]

LINPACK 1000

[edit]

LINPACK 1000 can provide a performance nearer to the machine's limit because in addition to offering a bigger problem size, a matrix of order 1000, changes in the algorithm are possible. The only constraints are that the relative accuracy can't be reduced and the number of operations will always be considered to be2/3n3+2n2,{\displaystyle 2/3\,n^{3}+2n^{2},} withn = 1000.[2]

HPLinpack

[edit]

The previous benchmarks are not suitable for testing parallel computers,[8] and the so-called Linpack's HighlyParallel Computing benchmark, or HPLinpack benchmark, was introduced. In HPLinpack the sizen of the problem can be made as large as it is needed to optimize the performance results of the machine. Once again,2/3n3+2n2{\displaystyle 2/3\,n^{3}+2n^{2}} will be taken as the operation count, with independence of the algorithm used. Use of theStrassen algorithm is not allowed because it distorts the real execution rate.[9]The accuracy must be such that the following expression is satisfied:

Axb(Ax+b)nϵO(1),{\displaystyle {\frac {\|Ax-b\|_{\infty }}{{\big (}\|A\|_{\infty }\|x\|_{\infty }+\|b\|_{\infty }{\big )}n\epsilon }}\leq O(1),}

where

ϵ{\displaystyle \epsilon } is the machine's precision,
n is the size of the problem,[10]
{\displaystyle \|\cdot \|_{\infty }} is amatrix norm (largest row sum[11]),
O(1){\displaystyle O(1)} corresponds to thebig-O notation.

For each computer system, the following quantities are reported:[2]

Rmax – the performance in GFLOPS for the largest problem run on a machine.
Nmax – the size of the largest problem run on a machine.
N1/2 – the size where half theRmax execution rate is achieved.
Rpeak – the theoretical peak performance GFLOPS for the machine.

These results are used to compile theTOP500 list twice a year, with the world's most powerful computers.[1] TOP500 measures these indouble-precision floating-point format (FP64). The ratioRmax/Rpeak is called parallel efficiency or HPL efficiency.[12] It is typically lower the more nodes a system has due to communication overhead. For example, a 1990sCray Y-MP achieves about 90% HPL efficiency,[13] whileFrontier achieves about 70% in 2023.[14]

LINPACK benchmark implementations

[edit]

The previous section describes the ground rules for the benchmarks. The actualimplementation of the program can diverge, with some examples being available inFortran,[15]C[16] orJava.[17]

HPL

[edit]

HPL is a portable implementation of HPLinpack that was written in C, originally as a guideline, but that is now widely used to provide data for the TOP500 list, though other technologies and packages can be used. HPL generates a linear system of equations of ordern and solves it using LU decomposition with partial row pivoting. It requires installed implementations ofMPI and eitherBLAS orVSIPL to run.[18]

Coarsely, the algorithm has the following characteristics:[19][20]

  • cyclic data distribution in 2D blocks
  • LU factorization using the right-looking variant with various depths of look-ahead
  • recursive panel factorization
  • six different panelbroadcasting variants
  • bandwidth-reducing swap–broadcast algorithm
  • backward substitution with look-ahead of depth 1

Criticism

[edit]

The LINPACK benchmark is said to have succeeded because of the scalability[21] of HPLinpack, the fact that it generates a single number, making the results easily comparable and the extensive historical data base it has associated.[22]However, soon after its release, the LINPACK benchmark was criticized for providing performance levels "generally unobtainable by all but a very few programmers who tediously optimize their code for that machine and that machine alone",[23] because it only tests the resolution of dense linear systems, which are not representative of all the operations usually performed in scientific computing.[24]Jack Dongarra, the main driving force behind the LINPACK benchmarks, said that, while they only emphasize "peak" CPU speed and number of CPUs, not enough stress is given to local bandwidth and the network.[25]

Thom Dunning Jr., director of theNational Center for Supercomputing Applications, had this to say about the LINPACK benchmark: "The Linpack benchmark is one of those interesting phenomena – almost anyone who knows about it will deride its utility. They understand its limitations but it has mindshare because it's the one number we've all bought into over the years."[26]

According to Dongarra, "the organizers of the TOP500 are actively looking to expand the scope of the benchmark reporting" because "it is important to include more performance characteristic and signatures for a given system".[27]One of the possibilities that is being considered to extend the benchmark for the TOP500 is theHPC Challenge Benchmark suite.[28] With the advent ofpetascale computers,traversed edges per second have started to emerge as a complementary metric to FLOPS measured by LINPACK. Another such metric is theHPCG benchmark, proposed by Dongarra.[29]

The running time issue

[edit]

According toJack Dongarra, the running time required to obtain good performance results with HPLinpack is expected to increase. At a conference held in 2010, he said he expects running times of 2.5 days in "a few years".[30]

See also

[edit]

References

[edit]
  1. ^ab"The Linpack Benchmark, TOP500 Supercomputing Sites". Retrieved2015-02-10.
  2. ^abcdeDongarra, Jack J.; Luszczek, Piotr; Petitet, Antoine (2003),"The LINPACK Benchmark: past, present and future"(PDF),Concurrency and Computation: Practice and Experience,15 (9), John Wiley & Sons, Ltd.:803–820,doi:10.1002/cpe.728,S2CID 1900724.
  3. ^Jack Dongarra interview by Sander Olson, archived fromthe original on 2016-03-04, retrieved2012-01-13.
  4. ^Dongarra, J. J.; Moler, C. B.; Bunch, J. R.; Stewart, G. W. (1979),LINPACK: users' guide,SIAM,ISBN 9780898711721.
  5. ^Dongarra, Jack (1988), "The LINPACK Benchmark: An explanation",Supercomputing(PDF), Lecture Notes in Computer Science, vol. 297, Springer Berlin/Heidelberg, pp. 456–474,doi:10.1007/3-540-18991-2_27,ISBN 978-3-540-18991-6.
  6. ^High-Performance Linpack Benchmark(PDF), Innovative Computing Laboratory, University of Tennessee, 2010, retrieved2015-02-10.
  7. ^J. J. Dongarra, J. R. Bunch, C. B. Moler, G. W. Stewart,"LINPACK Users' Guide", 1979.
  8. ^Bailey, D. H.; Barszcz, E.; Barton, J. T.; Browning, D. S.; Carter, R. L.; Dagum, L.; Fatoohi, R. A.; Frederickson, P. O.; Lasinski, T. A.; Schreiber, R. S.; Simon, H. D.; Venkatakrishnan, V.; Weeratunga, S. K. (1991). "The NAS parallel benchmarks—summary and preliminary results".Proceedings of the 1991 ACM/IEEE conference on Supercomputing – Supercomputing '91. pp. 158–165.doi:10.1145/125826.125925.ISBN 0897914597.S2CID 18046345.
  9. ^"Can I use Strassen's Method when doing the matrix multiples in the HPL benchmark or for the Top500 run?".LINPACK FAQ. Retrieved2015-02-10.
  10. ^"To what accuracy must be the solution conform?".LINPACK FAQ. Retrieved2015-02-10.
  11. ^"LINPACK dlange". Retrieved2024-03-09.
  12. ^"Theoretical Peak Performance Rpeak".Uni.lu High Performance Computing (HPC) Tutorials. Retrieved2023-11-15.
  13. ^"Y-MP C916/12256".TOP500. 1995-12-01. Retrieved2023-11-15.
  14. ^"Frontier – HPE Cray EX235a, AMD Optimized 3rd Generation EPYC 64C 2GHz, AMD Instinct MI250X, Slingshot-11".TOP500. 2023-11-12. Retrieved2023-11-15.
  15. ^"Linpack benchmark program in Fortran". Retrieved2015-02-10.
  16. ^"Linpack benchmark program in C". Retrieved2015-02-10.
  17. ^"Linpack benchmark program in Java". Retrieved2015-02-10.
  18. ^"HPL – A Portable Implementation of the High-Performance Linpack Benchmark for Distributed-Memory Computers".The Netlib. Retrieved2015-02-10.
  19. ^"HPL algorithm".The Netlib.
  20. ^"HPL overview".Innovative Computing Laboratory. Retrieved2015-02-10.
  21. ^"AN INTERVIEW WITH SUPERCOMPUTING LEGEND JACK DONGARRA". 2002-05-24.
  22. ^Haigh, Thomas (2004)."An interview with Jack J. Dongarra"(PDF).LINPACK is a benchmark that people often cite because there's such a historical data base of information there, because it's fairly easy to run, it's fairly easy to understand, and it captures in some sense the best and worst of programming.
  23. ^Hammond, Steven (1995),"Beyond Machoflops: Getting MPPs Into the Production Environment",National Center for Atmospheric Research Technical Note,413, Ucar/Ncar: 844 KB,Bibcode:1995NCART.413......,doi:10.5065/D6J67DW7.
  24. ^Gahvari, Hormozd; Hoemmen, Mark; Demmel, James; Yelick, Katherine (2006), "Benchmarking Sparse Matrix-Vector Multiply in Five Minutes",SPEC Benchmark Workshop(PDF).
  25. ^Dongarra, Jack J. (2007), "The HPC Challenge Benchmark: A Candidate for Replacing Linpack in the Top500?",SPEC Benchmark Workshop(PDF).
  26. ^Christopher Mims (2010-11-08)."Why China's New Supercomputer Is Only Technically the World's Fastest". Retrieved2011-09-22.
  27. ^Meuer, Martin (2002-05-24)."AN INTERVIEW WITH SUPERCOMPUTING LEGEND JACK DONGARRA". Retrieved2022-12-01.
  28. ^Luszczek, Piotr; Dongarra, Jack J.; Koester, David; Rabenseifner, Rolf; Lucas, Bob; Kepner, Jeremy; Mccalpin, John; Bailey, David; Takahashi, Daisuke (2005),Introduction to the HPC Challenge Benchmark Suite(PDF).
  29. ^Hemsoth, Nicole (June 26, 2014)."New HPC Benchmark Delivers Promising Results". HPCWire. Retrieved2022-12-01.
  30. ^Dongarra, Jack J. (2010).LINPACK Benchmark with Time Limits on Multicore & GPU Based Accelerators(PDF). International Supercomputing Conference.

External links

[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=LINPACK_benchmarks&oldid=1311430720"
Category:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp