Skip to main content
QUICK REVIEW

[논문 리뷰] Petascale elliptic solvers for anisotropic PDEs on GPU clusters

Eike H. Müller, Robert Scheichl|arXiv (Cornell University)|2014. 02. 14.
Advanced Numerical Methods in Computational Mathematics참고 문헌 34인용 수 3
한 줄 요약

이 논문은 대기 모델링에서 발생하는 이방성 타원형 PDEs를 위한 알고리즘적으로 최적화된 반복 해법인 공액 경사법(Conjugate Gradient, CG)과 텐서 곱 기반 기하학적 다중 격자법을, 페타스케일, 다중 GPU 환경에서 구현한다. 이 해법들은 16,384개의 GPU에서 최대 0.78 PFLOPs 성능을 달성하며, 0.55조 개의 미지수를 포함한 선형 시스템을 해결한다. 다중 격자법은 반복 횟수가 우수하고 GPU 클러스터에서 효율적인 메모리 액세스 패턴을 갖추고 있어, 5,000억 개의 미지수에 대해 1초 이내에 수렴한다.

ABSTRACT

Memory bound applications such as solvers for large sparse systems of equations remain a challenge for GPUs. Fast solvers should be based on numerically efficient algorithms and implemented such that global memory access is minimised. To solve systems with up to one trillion ($10^{12}$) unknowns the code has to make efficient use of several million individual processor cores on large GPU clusters. We describe the multi-GPU implementation of two algorithmically optimal iterative solvers for anisotropic elliptic PDEs which are encountered in atmospheric modelling. In this application the condition number is large but independent of the grid resolution and both methods are asymptotically optimal, albeit with different absolute performance. We parallelise the solvers and adapt them to the specific features of GPU architectures, paying particular attention to efficient global memory access. We achieve a performance of up to 0.78 PFLOPs when solving an equation with $0.55\cdot 10^{12}$ unknowns on 16384 GPUs; this corresponds to about $3\%$ of the theoretical peak performance of the machine and we use more than $40\%$ of the peak memory bandwidth with a Conjugate Gradient (CG) solver. Although the other solver, a geometric multigrid algorithm, has a slightly worse performance in terms of FLOPs per second, overall it is faster as it needs less iterations to converge; the multigrid algorithm can solve a linear PDE with half a trillion unknowns in about one second.

연구 동기 및 목표

  • 대기 모델링에서 발생하는 대규모 이방성 타원형 PDEs를 위한 다중 GPU 기반 대량 병렬 해법을 개발한다.
  • GPU 기반 희소 선형 해법에서 발생하는 메모리 대역폭 제약을 극복하기 위해 글로벌 메모리 액세스 패턴을 최적화한다.
  • 최대 10^12개의 미지수를 포함한 시스템에서 페타스케일 성능(초당 10^15회 부동소수점 연산)을 달성하기 위해 다중 GPU 클러스터를 활용한다.
  • GPU 아키텍처에서 알고리즘적으로 최적화된 해법인 조건부 공액 경사법과 텐서 곱 기반 기하학적 다중 격자법의 성능을 비교한다.
  • Titan 초고성능 컴퓨터를 사용하여 최대 16,384개의 GPU에서 약화 및 강화 스케일링 성능을 시연한다.

제안 방법

  • 대기 모델의 수직으로 이방성이 강한 PDEs에 특화된 다중 GPU, 분산 메모리 기반 텐서 곱 기반 기하학적 다중 격자 해법을 구현한다.
  • GPU의 코alescing 요구사항과 일치하는 데이터 레이아웃을 설계하고 글로벌 메모리 트랜잭션 수를 최소화함으로써 메모리 액세스 패턴을 최적화한다.
  • 하이브리드 CPU-GPU 작업 분배 전략을 적용하여 세분화된 계산은 GPU에, 더 거친 수준의 계산은 CPU에 할당함으로써 데이터 이동을 줄인다.
  • 비동기식 할로 업데이트를 적용하여 통신를 계산과 겹쳐 처리함으로써 GPU 클러스터에서의 효율성을 향상시킨다.
  • 거친 다중 격자 수준에서 병렬 삼중대각 해법(예: 순환 감소 또는 부분분할 기법)을 적용하여 스레드 수준의 병렬성을 증가시킨다.
  • Kepler GK110 GPU에서 이중 정밀도 산술을 사용하고, 이론적 최고 성능 및 CPU 기반 구현과의 성능을 벤치마킹한다.

실험 결과

연구 질문

  • RQ116,384개의 GPU에서 최대 10^12개의 미지수를 포함한 시스템에서 기하학적 다중 격자법과 조건부 공액 경사법의 다중 GPU 구현이 페타스케일 성능을 달성할 수 있는가?
  • RQ2GPU 클러스터에서 다중 격자법의 수렴 속도와 FLOP/s 효율성은 조건부 공액 경사법 대비 어떻게 비교되는가?
  • RQ3GPU에서 알고리즘적 및 아키텍처 최적화를 통해 메모리 대역폭 제약을 어느 정도 완화할 수 있는가?
  • RQ4Titan 초고성능 컴퓨터에서 16,384개의 GPU를 사용할 때 해법의 약화 및 강화 스케일링 행동은 어떠한가?
  • RQ5계산과 통신을 겹치고 거친 수준에서 병렬성을 증가시키면 GPU 활용도와 전체 성능이 향상되는가?

주요 결과

  • 0.55×10^12개의 미지수를 포함한 시스템을 해결할 때, CG 해법은 16,384개의 GPU에서 0.78 PFLOPs 성능을 달성했으며, 이는 이론적 최고 성능의 3%에 해당한다.
  • CG 해법은 최고 메모리 대역폭의 40% 이상을 활용하여, 높은 산술 집약성에도 불구하고 효율적인 메모리 액세스를 보였다.
  • 텐서 곱 기반 기하학적 다중 격자 해법은 약 0.5×10^12개의 미지수를 포함한 선형 시스템을 약 1초 만에 해결했으며, 반복 횟수가 적어 CG를 능가했다.
  • 다중 격자 방법은 FLOP/s 성능가 다소 낮았지만, 최적의 반복 횟수 덕분에 더 빠른 수렴을 달성했다.
  • 비동기식 할로 업데이트 및 병렬 삼중대각 해법을 사용한 예비 실험 결과, 거친 다중 격자 수준에서 최대 2배의 성능 향상 잠재력이 확인되었다.
  • HECToR 초고성능 컴퓨터에서 GPU 기반 코드는 CPU 기반 코드보다 약 4배 빠르게 동작하여, 이 분야 문제에 있어 GPU 가속의 우수성을 입증했다.

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

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

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

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