Skip to main content
QUICK REVIEW

[논문 리뷰] PSelInv -- A Distributed Memory Parallel Algorithm for Selected Inversion : the Symmetric Case

Mathias Jacquelin, Lin Lin|arXiv (Cornell University)|2014. 04. 02.
Parallel Computing and Optimization Techniques참고 문헌 39인용 수 12
한 줄 요약

PSelInv는 희소 대칭 행렬의 선택적 역행렬을 계산하기 위한 확장 가능하고 분산 메모리 환경에서 병렬적으로 작동하는 알고리즘으로, 동적 로드 밸런싱을 위한 제거 트리 순회를 활용한 희소 LU 분해를 사용한다. 이 알고리즘은 4,000개 이상의 코어에서 높은 성능을 달성하며, 특히 최대 32,768개 원자를 포함하는 시스템에서 대규모 전자 구조 계산에서 최대 127배의 성능 향상을 이룬다.

ABSTRACT

We describe an efficient parallel implementation of the selected inversion algorithm for distributed memory computer systems, which we call exttt{PSelInv}. The exttt{PSelInv} method computes selected elements of a general sparse matrix $A$ that can be decomposed as $A = LU$, where $L$ is lower triangular and $U$ is upper triangular. The implementation described in this paper focuses on the case of sparse symmetric matrices. It contains an interface that is compatible with the distributed memory parallel sparse direct factorization exttt{SuperLU\_DIST}. However, the underlying data structure and design of exttt{PSelInv} allows it to be easily combined with other factorization routines such as exttt{PARDISO}. We discuss general parallelization strategies such as data and task distribution schemes. In particular, we describe how to exploit the concurrency exposed by the elimination tree associated with the $LU$ factorization of $A$. We demonstrate the efficiency and accuracy of exttt{PSelInv} by presenting a number of numerical experiments. In particular, we show that exttt{PSelInv} can run efficiently on more than $4,000$ cores for a modestly sized matrix. We also demonstrate how exttt{PSelInv} can be used to accelerate large-scale electronic structure calculations.

연구 동기 및 목표

  • 대규모 과학적 시뮬레이션, 특히 전자 구조 이론에서 선택된 역행렬 원소를 효율적으로 계산할 필요를 해결한다.
  • 큰 희소 행렬에 대해 전면적인 역행렬 계산이 비용이 너무 많이 들기 때문에 이를 초월하는 한계를 극복한다.
  • 제거 트리의 구조적 특성을 활용하여 희소성과 병행성을 고려한 확장 가능하고 고성능의 병렬 알고리즘을 개발한다.
  • 밀도 함수 이론과 동적 평균장 이론의 응용을 위해 역행렬의 추적 추정치와 대각 원소를 효율적으로 계산할 수 있도록 한다.
  • 최대 32,768개 원자를 포함하는 행렬에 대해 분산 메모리 아키텍처에서 강한 확장성을 확보하며, 기존의 대각화 방법을 뛰어넘는 성능을 달성한다.

제안 방법

  • 선택된 역행렬 원소의 초집합을 계산하기 위해 대칭 행렬의 희소 LU 분해(L과 U)를 사용하여 전체 역행렬 계산을 피한다.
  • 요소 제거 트리 기반 순회 전략을 통해 분해 과정에서 작업 수준의 병행성과 데이터 국소성을 활용한다.
  • SuperLU DIST와 PARDISO와 같은 기존 분산 메모리 희소 직접 해법기와 호환성 있는 인터페이스를 통해 통합한다.
  • 제거 트리 노드를 계산 작업으로 매핑하여 프로세서 간 동적 로드 밸런싱을 적용하여 병행성의 최대화를 이룬다.
  • 분산 메모리 환경에서의 통신 오버헤드를 줄이기 위해 슈퍼노드 데이터 구조를 사용하여 계산을 그룹화한다.
  • PEXSI 프레임워크와 통합하여 해밀토니안 행렬의 선택적 역행렬 계산을 통해 대규모 전자 구조 계산을 가속화한다.

실험 결과

연구 질문

  • RQ1수천 개의 코어를 사용하는 분산 메모리 시스템에서 희소 대칭 행렬의 선택적 역행렬 계산을 효율적으로 병렬화할 수 있는가?
  • RQ2대규모 전자 구조 계산에서 문제 크기와 프로세서 수가 증가함에 따라 PSelInv의 성능가 어떻게 확장되는가?
  • RQ3대규모 시뮬레이션에서 전체 행렬 대각화 방법에 비해 PSelInv가 계산 비용을 얼마나 줄일 수 있는가?
  • RQ4매우 부정적인 정의 또는 약한 조건을 가진 행렬에 대해서도 PSelInv가 수치 정확도를 유지할 수 있는가?
  • RQ5SuperLU DIST와 PARDISO와 같은 기존의 희소 직접 해법기와 생산용 HPC 워크플로우에서 PSelInv가 효과적으로 통합될 수 있는가?

주요 결과

  • PSelInv는 4,000개 이상의 코어에서 효율적으로 확장되며, 최대 32,768개 원자를 포함하는 행렬에 대해 강한 확장성을 보였다.
  • 32,768개 원자를 포함하는 그래핀 시스템에서 PSelInv는 327,680개 코어에서 총 월드 클록 시간 241초(선택적 역행렬 계산에 87초)를 기록했으며, 대각화 방법 대비 127배의 성능 향상을 달성했다.
  • 8,192개 원자 시스템의 경우, PSelInv를 PEXSI와 함께 사용함으로써 대각화 방법의 21,556초에서 45초로 월드 클록 시간을 단축시켜 127배의 성능 향상을 달성했다.
  • 광범위한 수치 실험을 통해 PSelInv는 매우 부정적 또는 거의 특이 행렬에 대해서도 높은 수치 정확도를 유지함을 입증했다.
  • 대규모에서 대각화 방법의 성능을 뛰어넘었으며, 100만 개 코어에서 예상되는 대각화 시간이 1,000초를 초과하는 반면, PSelInv는 250초 이내로 유지되었다.
  • PSelInv와 PEXSI 프레임워크의 조합은 기존에 대각화의 입자 제곱 스텝 스케일링으로 인해 수행이 불가능했던 실용적인 대규모 전자 구조 계산을 가능하게 하였다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.