LINPACK 벤치마크
LINPACK benchmarks원본 작성자 | 잭 동가라, 짐 번치, 클레브 몰러, 길버트 스튜어트 |
---|---|
초기 릴리즈 | 1979 |
웹사이트 | www |
LINPACK 벤치마크는 시스템의 부동 소수점 컴퓨팅 파워에 대한 척도다.잭 동가라가 소개한 이들은 공학에서 공통적인 과제인 선형 방정식 Ax = b의 n 시스템을 통해 컴퓨터가 얼마나 빠르게 n 밀도를 해결하는지 측정한다.null
이 벤치마크의 최신 버전은 TOP500 목록을 작성하는데 사용되어 세계에서 가장 강력한 슈퍼컴퓨터의 순위를 매긴다.[1]null
그 목적은 실제 문제를 해결할 때 컴퓨터가 얼마나 빨리 작동할 것인가에 대한 대략적인 것이다.컴퓨터 시스템의 전반적인 성능을 반영할 수 있는 컴퓨팅 작업은 단 한 가지도 없기 때문에 단순화된다.그럼에도 불구하고 LINPACK 벤치마크 성능은 제조업체가 제공하는 최고 성능보다 좋은 보정을 제공할 수 있다.최고 성능은 컴퓨터의 주파수(초당 주기)로 계산되는 컴퓨터가 달성할 수 있는 최대 이론적 성능으로, 컴퓨터가 수행할 수 있는 사이클당 작동 횟수의 곱이다.실제 성능은 항상 최고 성능보다 낮을 것이다.[2]컴퓨터의 성능은 서로 연결된 많은 변수에 따라 달라지는 복잡한 문제다.LINPACK 벤치마크에서 측정한 성능은 컴퓨터가 초당 수행할 수 있는 64비트 부동소수 연산(일반적으로 추가 및 승수)으로 구성되며, FLOPS라고도 한다.그러나 실제 애플리케이션을 실행할 때 컴퓨터의 성능은 적절한 LINPACK 벤치마크 실행을 달성하는 최대 성능에 크게 뒤처질 가능성이 높다.[3]null
이러한 벤치마크의 이름은 1980년대에 널리 사용된 대수학 포트란 서브루틴의 집합체인 LINPACK 패키지에서 따왔으며, 처음에는 LINPACK 벤치마크와 밀접하게 연결되어 있다.LINPACK 패키지는 이후 다른 라이브러리로 대체되었다.null
역사
LINPACK 벤치마크 보고서는 LINPACK 사용자 설명서의 부록으로 1979년에 처음 등장했다.[4]null
LINPACK은 사용자가 23대의 컴퓨터가 매트릭스 100 사이즈의 문제를 해결하는 성능 결과를 추론함으로써 LINPACK 패키지를 사용하여 문제를 해결하는 데 필요한 시스템의 시간을 추정할 수 있도록 설계되었다.null
이 매트릭스 크기는 당시 메모리 및 CPU 제한 때문에 선택되었다.
수년에 걸쳐, 순서 300과 1000의 행렬과 같은 서로 다른 문제 크기와 제약 조건을 가진 추가 버전이 출시되었고, 하드웨어 아키텍처가 매트릭스 벡터 및 매트릭스 운영을 구현하기 시작하면서 새로운 최적화 기회를 허용했다.[5]null
병렬 프로세싱은 1980년대 후반 LINPACK Parallel 벤치마크에서도 도입되었다.[2]null
1991년, 임의 크기의 문제를 해결하기[6] 위해 LINPACK이 수정되어 고성능 컴퓨터(HPC)가 무증상 성능에 근접할 수 있게 되었다.null
2년 후 이 벤치마크는 첫 번째 TOP500 목록의 성능을 측정하는 데 사용되었다.null
벤치마크
린팩100번길
LINPACK 100은 LINPACK 사용자 매뉴얼과 함께 1979년에 발표된 원래 벤치마크와 매우 유사하다.이 솔루션은 부분 피벗으로 가우스 제거를 통해 얻으며, 문제를 정의하는 밀집 매트릭스 A의 순서인 n이 100인 2/3n³ + 2n² 부동 소수점 연산을 한다.그것의 작은 크기와 소프트웨어 유연성의 부족은 대부분의 현대 컴퓨터들이 성능 한계에 도달하는 것을 허락하지 않는다.그러나 컴파일러 최적화를 사용하여 수치 집약적인 사용자 쓰기 코드의 성능을 예측하는 것은 여전히 유용할 수 있다.[2]null
LINPACK 1000
LINPACK 1000은 더 큰 문제 크기, 즉 순서 1000의 매트릭스를 제공하는 것 외에도 알고리즘의 변경이 가능하기 때문에 기계의 한계에 가까운 성능을 제공할 수 있다.유일한 제약조건은 상대적 정확도를 줄일 수 없고 n = 1000으로 항상 2/3n³ + 2n²로 간주된다는 것이다.[2]null
HPL린팩
이전의 벤치마크는 병렬 컴퓨터 테스트에 적합하지 않고,[7] 이른바 린팩의 HPLinpack 벤치마크, 즉 HPLinpack 벤치마크가 도입되었다.HPLinpack에서는 기계의 성능 결과를 최적화하는 데 필요한 만큼 문제 크기 n을 만들 수 있다.다시 한번, 2/3n³ + 2n²를 사용하는 알고리즘의 독립성으로 작동 카운트로 삼는다.Strassen 알고리즘은 실제 실행률을 왜곡하기 때문에 사용이 허용되지 않는다.[8]정확도는 다음 표현이 만족되어야 한다.
Ax− b‖ ‖ ‖ ‖ ‖)‖ nϵ ≤ O(1)(O(1)},ϵ{\displaystyle \epsilon}은 기계의 정밀도, 그 problem,[9]의 n이 크기‖{\displaystyle \lVert\rVert \cdot}은 매트릭스 규범 및 O(1){\displays ⋅ ‖. O(1)는빅-O 표기법에 해당한다.null
각 컴퓨터 시스템에 대해 다음과 같은 수량이 보고된다.[2]
- Rmax: 기계에서 실행되는 가장 큰 문제에 대한 GFLOPS의 성능
- Nmax: 기계에서 실행되는 가장 큰 문제의 크기.
- N1/2: Rmax 실행률의 절반이 달성되는 크기.
- Rpeak: 기계에 대한 이론적 피크 성능 GFLOPS.
이 결과는 세계에서 가장 강력한 컴퓨터와 함께 1년에 두 번 TOP500 목록을 컴파일하는 데 사용된다.[1]TOP500은 이중 정밀 부동 소수점 형식(FP64)으로 측정한다.null
LINPACK 벤치마크 구현
앞 절에서는 벤치마크의 기본 규칙을 설명한다.프로그램의 실제 구현은 갈릴 수 있으며, 몇 가지 예는 포트란,[10] C 또는 자바에서 이용할 수 있다.[12]null
HPL
HPL은 당초 가이드라인으로 C로 작성된 HPLinpack의 휴대형 구현이지만, 현재는 다른 기술과 패키지를 사용할 수 있지만 TOP500 리스트에 대한 데이터를 제공하는 데 널리 사용되고 있다.HPL은 n 순서 방정식의 선형 시스템을 생성하고 부분 행 회전으로 LU 분해를 사용하여 이를 해결한다.그것은 MPI와 BLAS 또는 VSIPL의 설치된 구현을 실행하도록 요구한다.[13]null
거칠게 말하면 알고리즘은 다음과 같은 특성을 갖는다.[14][15]
- 2D 블록의 주기적 데이터 분포
- 다양한 룩-어헤드의 깊이를 가진 우향 변형을 사용한 LU 인자화
- 재귀 패널 인자화
- 6가지 패널 방송 변종
- 대역폭 감소 스왑-스왑 알고리즘
- 깊이 1의 외관을 이용한 역대체
비판
LINPACK 벤치마크는 HPLinpack의 확장성[16], 단일 숫자를 생성하여 그 결과를 쉽게 비교할 수 있고, 연관되어 있는 광범위한 과거 데이터 베이스가 있기 때문에 성공했다고 한다.[17]하지만, 개봉 직후, 린팩 벤치 마크. 왜냐하면 이것은 단지 모든 operati의 대표자가 아닌 선형 체계를 해결 시험"일반적으로 모든 하지만 누가 지루하게 그 기계에 대한 그들의 코드를 최적화 하고 아주 적은 수의 프로그래머들과 그 기계에 의해서만 얻을 수 없는"[18]성능 수준을 제공하는 비난을 받았다.ons보통 과학 컴퓨팅에서 수행된다.[19]LINPACK 벤치마크의 주요 원동력인 Jack Dongarra는 "피크" CPU 속도와 CPU 수만을 강조하지만, 로컬 대역폭과 네트워크에 충분한 스트레스가 주어지지 않는다고 말했다.[20]null
국립 슈퍼컴퓨팅 애플리케이션 센터의 톰 더닝 주니어는 LINPACK 벤치마크에 대해 이렇게 말했다. "린팩 벤치마크는 흥미로운 현상들 중 하나이다. 거의 모든 사람들이 린팩 벤치마크에 대해 알면 그 효용성을 비웃을 것이다.그들은 그것의 한계를 이해하지만 그것은 우리가 지난 몇 년 동안 사들인 유일한 숫자이기 때문에 마인드셰어를 가지고 있다."[21]
동가라에 따르면, "특정 시스템에 대한 성과 특성과 서명을 더 많이 포함하는 것이 중요하기 때문에, "톱500의 주최자들은 벤치마크 보고서의 범위 확대를 적극적으로 검토하고 있다"고 한다.[22]TOP500 벤치마크 확대에 대해 검토되고 있는 가능성 중 하나는 HPC Challenge Benchmark Suite이다.[23]페타스케일 컴퓨터의 출현과 함께 초당 통과된 에지는 LINPACK이 측정한 FLOPS의 보완 측정 지표로 등장하기 시작했다.또 다른 그러한 지표는 동가라가 제안한 HPCG 벤치마크다.[24]null
실행 시간 문제
잭 동가라에 따르면 HPLinpack으로 좋은 성능 결과를 얻기 위해 필요한 러닝 시간이 늘어날 것으로 예상된다.2010년 열린 콘퍼런스에서 그는 "몇 년 안에 2.5일의 러닝 타임이 기대된다"고 말했다.[25]null
참고 항목
참조
- ^ a b "The Linpack Benchmark, TOP500 Supercomputing Sites". Retrieved 2015-02-10.
- ^ a b c d e Dongarra, Jack J.; Luszczek, Piotr; Petitet, Antoine (2003), "The LINPACK Benchmark: past, present and future" (PDF), Concurrency and Computation: Practice and Experience, John Wiley & Sons, Ltd., 15 (9): 803–820, doi:10.1002/cpe.728, S2CID 1900724
- ^ Jack Dongarra interview by Sander Olson, archived from the original on 2016-03-04, retrieved 2012-01-13
- ^ Dongarra, J.J.; Moler, C.B.; Bunch, J.R.; Stewart, G.W. (1979), LINPACK: users' guide, SIAM, ISBN 9780898711721
- ^ Dongarra, Jack (1988), "The LINPACK benchmark: An explanation" (PDF), Supercomputing, Lecture Notes in Computer Science, Springer Berlin/Heidelberg, 297: 456–474, doi:10.1007/3-540-18991-2_27, ISBN 978-3-540-18991-6
- ^ High Performance Linpack Benchmark (PDF), retrieved 2015-02-10
- ^ 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", Supercomputing, Supercomputing '91. Proceedings of the 1991 ACM/IEEE Conference: 158–165, doi:10.1145/125826.125925, ISBN 0897914597, S2CID 18046345
{{citation}}
: CS1 maint : 위치(링크) - ^ "LINPACK FAQ - Can I use Strassen's Method when doing the matrix multiples in the HPL benchmark or for the Top500 run?". Retrieved 2015-02-10.
- ^ "LINPACK FAQ - To what accuracy must be the solution conform?". Retrieved 2015-02-10.
- ^ "Linpack benchmark program in Fortran". Retrieved 2015-02-10.
- ^ "Linpack benchmark program in C". Retrieved 2015-02-10.
- ^ "Linpack benchmark program in Java". Retrieved 2015-02-10.
- ^ "HPL - A Portable Implementation of the High-Performance Linpack Benchmark for Distributed-Memory Computers". Retrieved 2015-02-10.
- ^ "HPL algorithm".
- ^ "HPL overview". Retrieved 2015-02-10.
- ^ "An interview with supercomputer legend Jack Dongarra". 2012-05-24. Archived from the original on 2013-02-03.
- ^ 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.
- ^ Hammond, Steven (1995), Beyond Machoflops: Getting MPPs Into the Production Environment, archived from the original on 2012-07-13
- ^ Gahvari, Hormozd; Hoemmen, Mark; Demmel, James; Yelick, Katherine (2006), "Benchmarking Sparse Matrix-Vector Multiply in Five Minutes", SPEC Benchmark Workshop (PDF)
- ^ Dongarra, Jack J. (2007), "The HPC Challenge Benchmark: A Candidate for Replacing Linpack in the Top500?", SPEC Benchmark Workshop (PDF)
- ^ Christopher Mims (2010-11-08). "Why China's New Supercomputer Is Only Technically the World's Fastest". Retrieved 2011-09-22.
- ^ Meuer, Martin (2002-05-24). "An interview with supercomputing legend jack dongarra". Archived from the original on 2013-02-03. Retrieved 2015-02-10.
- ^ 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)
- ^ Hemsoth, Nicole (June 26, 2014). "New HPC Benchmark Delivers Promising Results". HPCWire. Retrieved 2014-09-08.
- ^ Dongarra, Jack J. (2010). LINPACK Benchmark with Time Limits on Multicore & GPU Based Accelerators (PDF). International Supercomputing Conference.