Skip to main content
QUICK REVIEW

[논문 리뷰] A comparison of techniques for solving the Poisson equation in CFD

Nick Brown|arXiv (Cornell University)|2020. 10. 27.
Wind and Air Flow Studies참고 문헌 8인용 수 7
한 줄 요약

이 논문은 MONC 대기 모델의 동역학 코어에서 포아송 방정식을 해결하기 위해 직접 FFT와 반복적 해법(GMRES, BiCGStab, CG)을 평가하며, 최대 32,768개의 Cray XC30 코어에서 성능, 확장성 및 메모리 사용량을 비교한다. 특수 설계된 BiCGStab 해법은 가장 낮은 실행 시간(4.98e-3 초)을 기록했으며, 효율적인 상호연결망 덕분에 FFT는 잘 확장되지만, 엑사스케일 수준의 병렬 처리에서는 반복적 방법이 더 유리하다.

ABSTRACT

CFD is a ubiquitous technique central to much of computational simulation such as that required by aircraft design. Solving of the Poisson equation occurs frequently in CFD and there are a number of possible approaches one may leverage. The dynamical core of the MONC atmospheric model is one example of CFD which requires the solving of the Poisson equation to determine pressure terms. Traditionally this aspect of the model has been very time consuming and-so it is important to consider how we might reduce the runtime cost. In this paper we survey the different approaches implemented in MONC to perform the pressure solve. Designed to take advantage of large scale, modern, HPC machines, we are concerned with the computation and communication behaviour of the available techniques and in this text we focus on direct FFT and indirect iterative methods. In addition to describing the implementation of these techniques we illustrate on up to 32768 processor cores of a Cray XC30 both the performance and scalability of our approaches. Raw runtime is not the only measure so we also make some comments around the stability and accuracy of solution. The result of this work are a number of techniques, optimised for large scale HPC systems, and an understanding of which is most appropriate in different situations.

연구 동기 및 목표

  • MONC 대기 모델의 동역학 코어에서 압력 해법을 최적화하여 주요 성능 저하 요소를 해결한다.
  • 대규모 HPC 시스템에서 직접 FFT와 반복적 해법 간의 계산과 통신 간 상호 교환 관계를 평가한다.
  • CFD 및 대기 모델링 분야의 향후 엑사스케일 컴퓨팅 워크로드에 가장 적합한 확장성과 효율성을 갖춘 해법을 규명한다.
  • 다양한 문제 크기와 프로세서 수에서 해법 선택이 실행 시간, 메모리 사용량 및 안정성에 미치는 영향을 평가한다.
  • 문제 구성, 시스템 크기 및 하드웨어 특성에 기반해 사용자가 최적의 해법을 선택할 수 있도록 안내한다.

제안 방법

  • 3D 푸리에 변환을 위해 FFTW를 사용하는 직접 FFT 기반 방법을 구현하며, X 및 Y 방향으로 슬랩 분할과 Z 방향으로 열별 삼중대각 해법을 적용한다.
  • 특수 설계된 반복적 해법(BiCGStab, CG)을 개발하고, 비교를 위해 PETSc 기반의 GMRES 및 BiCGStab을 통합하며, 행렬 기반 작업을 사용하지 않는다.
  • Cray XC30 시스템에서 코어당 65,536개의 국소 그리드 포인트를 사용한 약한 스케일링 실험을 통해 최대 32,768개의 코어에서 성능을 측정한다.
  • 다양한 해법 유형과 시스템 구성에서 실행 시간, 통신 부담, 메모리 사용량 및 안정성을 측정한다.
  • 특히 FFT의 전치 단계에서의 데이터 이동 패턴 분석을 통해 통신 오버헤드의 영향을 분석한다.
  • 코어 수 증가에 따른 성능 추세를 비교함으로써 확장성을 평가하며, 향후 엑사스케일 시스템에서 32,768개 코어를 초과할 경우에 주로 초점을 맞춘다.

실험 결과

연구 질문

  • RQ1CFD 동역학 코어에서 포아송 방정식을 해결할 때 직접 FFT와 반복적 해법 간 실행 시간과 통신 비용은 어떻게 비교되는가?
  • RQ2특히 32,768개 코어 및 그 이상에서 대규모 HPC 시스템에서 FFT와 반복적 해법의 확장성은 어떠한가?
  • RQ3해법 선택이 국소 문제 크기를 확장할 경우 메모리 사용에 어떤 영향을 미치는가?
  • RQ4MONC 모델의 압력 보정 단계에서 성능, 안정성 및 메모리 효율성의 최적 균형을 제공하는 해법은 무엇인가?
  • RQ5FFT의 통신 최적화 구현이 향후 엑사스케일 아키텍처에서 오버헤드를 줄이고 확장성을 향상시킬 수 있는가?

주요 결과

  • 특수 설계된 BiCGStab 해법은 평균 해법 시간 4.98e-3 초를 기록하여, PETSc 기반 해법과 CG보다 낮은 오버헤드 덕분에 가장 빠른 성능을 보였다.
  • 직접 FFT 방법은 효율적인 Aries 상호연결망 덕분에 Cray XC30에서 잘 확장되었지만, 규모가 커질수록 통신 비용이 더 두드러지게 증가했다.
  • PETSc 기반 반복적 해법은 행렬 및 벡터 추상화 오버헤드로 인해 더 높은 메모리 사용량을 보였으며, 이는 큰 국소 도메인에는 적합하지 않았다.
  • 특수 설계된 반복적 해법은 가장 메모리 효율적이었으며, 할로 환기용 버퍼 몇 개만 필요로 했고, 이는 FFT에 가까운 수준이었다.
  • 32,768개 코어를 초과하는 규모에서는 반복적 해법이 통신 부담이 적고 로드 밸런싱이 더 우수하므로 FFT를 능가할 것으로 예상된다.
  • FFT 파이프라인에서 중간 단계인 Y차원 전치를 제거하면 통신량을 50% 줄일 수 있으며, 이는 확장성 향상에 크게 기여할 수 있다.

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

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

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

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