[논문 리뷰] Rectangular Full Packed Format for Cholesky's Algorithm: Factorization, Solution and Inversion
이 논문은 직사각형 포장 형식(RFPF)을 소개한다. RFPF는 패킹 저장 방식의 최소 메모리 사용과 전체 저장 방식의 고성능을 결합하여 레벨 3 BLAS를 활용한다. RFPF는 전체 형식 LAPACK 루틴과 유사한 성능를 제공하면서도 메모리 사용을 절반으로 줄여, 순차 시스템에서는 패킹 루틴 대비 최대 43배, SMP 병렬 시스템에서는 최대 97배의 성능 향상을 달성한다.
We describe a new data format for storing triangular, symmetric, and Hermitian matrices called RFPF (Rectangular Full Packed Format). The standard two dimensional arrays of Fortran and C (also known as full format) that are used to represent triangular and symmetric matrices waste nearly half of the storage space but provide high performance via the use of Level 3 BLAS. Standard packed format arrays fully utilize storage (array space) but provide low performance as there is no Level 3 packed BLAS. We combine the good features of packed and full storage using RFPF to obtain high performance via using Level 3 BLAS as RFPF is a standard full format representation. Also, RFPF requires exactly the same minimal storage as packed format. Each LAPACK full and/or packed triangular, symmetric, and Hermitian routine becomes a single new RFPF routine based on eight possible data layouts of RFPF. This new RFPF routine usually consists of two calls to the corresponding LAPACK full format routine and two calls to Level 3 BLAS routines. This means {\it no} new software is required. As examples, we present LAPACK routines for Cholesky factorization, Cholesky solution and Cholesky inverse computation in RFPF to illustrate this new work and to describe its performance on several commonly used computer platforms. Performance of LAPACK full routines using RFPF versus LAPACK full routines using standard format for both serial and SMP parallel processing is about the same while using half the storage. Performance gains are roughly one to a factor of 43 for serial and one to a factor of 97 for SMP parallel times faster using vendor LAPACK full routines with RFPF than with using vendor and/or reference packed routines.
연구 동기 및 목표
- 대칭 및 양의 정부호 행렬을 저장할 때 메모리 효율성과 계산 성능 사이의 상충 관계를 해결한다.
- 레벨 3 BLAS 지원이 부족하여 성능이 낭비되는 표준 패킹 형식의 한계를 극복한다.
- 패킹 형식처럼 최소한의 메모리를 사용하면서도 레벨 3 BLAS 루틴을 활용해 고성능 계산을 가능하게 하는 저장 형식을 개발한다.
- LAPACK에 RFPF를 통합하여 콜레스키 분해, 해 구하기, 역행렬 계산을 지원하며, 완전한 후행 호환성과 성능 향상을 달성한다.
- 기존 LAPACK 소프트웨어 스택에 새로운 알고리즘 구현 없이도 원활한 통합을 가능하게 한다.
제안 방법
- 삼각 행렬을 밀도 있고 연속적인 일차원 배열에 저장하면서도 전체 형식 LAPACK 루틴과 호환되는 데이터 액세스 패턴을 유지하는 직사각형 레이아웃으로 RFPF를 설계한다.
- 저장 순서, 삼각형 영역, 전치 여부에 따라 8가지 가능한 구성으로 RFPF 데이터 레이아웃을 매핑하여, 단일 RFPF 루틴이 여러 개의 전체 및 패킹 LAPACK 루틴을 대체할 수 있도록 한다.
- 표준 LAPACK 전체 형식 루틴 두 번과 레벨 3 BLAS 커널 두 번의 호출을 사용하여 RFPF 루틴을 구현함으로써, 새로운 코드를 작성하지 않더라도 고성능을 확보한다.
- 실수 대칭 행렬과 복소 에르미트 행렬 모두를 지원하며, 복소수 케이스에서는 전치 및 켤레 전치 처리를 위한 확장 기능을 제공한다.
- 표준 형식(전체, 패킹)과 RFPF 간의 변환 루틴을 제공하여 후행 호환성과 상호 운용성을 확보한다.
- LAPACK 3.2에 RFPF를 통합하여, LAPACK 명명 규칙에 따라 새로운 루틴 이름(예: CPFTRF, DPFTRS)을 사용하고 모든 정밀도 및 데이터 유형을 지원한다.
실험 결과
연구 질문
- RQ1레벨 3 BLAS를 통해 최소 메모리 사용과 고성능을 동시에 달성할 수 있는 새로운 행렬 저장 형식을 설계할 수 있는가?
- RQ2기존 LAPACK 전체 형식 루틴을 얼마나 많이 재사용하여, 새로운 커널을 작성하지 않고도 고성능 RFPF 루틴을 구현할 수 있는가?
- RQ3RFPF의 성능가 표준 전체 형식 및 패킹 형식과 비교하여 순차 및 SMP 병렬 환경에서 어떻게 나타나는가?
- RQ4기존 패킹 저장 형식에 비해 RFPF가 콜레스키 분해, 해 구하기, 역행렬 계산에서 최대 몇 배의 성능 향상을 달성할 수 있는가?
- RQ5RFPF는 후행 호환성과 기존 소프트웨어 인fra구조에 최소한의 변경만으로 LAPACK에 원활하게 통합될 수 있는가?
주요 결과
- RFPF는 전체 형식 LAPACK 루틴과 유사한 성능를 제공하면서도 메모리 사용을 절반으로 줄여 패킹 형식의 저장 효율성과 동일하다.
- 순차 시스템에서는 RFPF가 벤더 최적화 패킹 루틴 및 참조 패킹 루틴(PPTRF) 대비 콜레스키 분해 및 역행렬 계산에서 최대 43배의 성능 향상을 달성한다.
- SMP 병렬 시스템에서는 레벨 3 BLAS와 다중 스레딩을 효과적으로 활용하여 패킹 루틴 대비 최대 97배의 속도 향상을 기록한다.
- 벤더 최적화 BLAS를 사용하는 RFPF 루틴의 성능은 표준 전체 형식 LAPACK 루틴과 거의 동일하여 최소한의 런타임 오버헤드를 확인한다.
- LAPACK 3.2는 콜레스키 분해, 해 구하기, 역행렬 계산, 형식 변환을 포함한 총 44개의 RFPF 루틴을 네이티브로 지원하며, LAPACK 생태계에 완전한 통합을 보여준다.
- RFPF 기법은 인텔 티지어톤, IBM 파wr 4, SUN 울트라스파크-IV 등 다양한 아키텍처에서 고성능 계산을 가능하게 하며, 플랫폼 간 일관된 성능 향상을 제공한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.