Skip to main content
QUICK REVIEW

[논문 리뷰] Directionally Unsplit Hydrodynamic Schemes with Hybrid MPI/OpenMP/GPU Parallelization in AMR

Hsi-Yu Schive, Ui-Han Zhang|arXiv (Cornell University)|2011. 03. 17.
Computational Fluid Dynamics and Aerodynamics참고 문헌 10인용 수 5
한 줄 요약

이 논문은 GPU 가속화된 AMR 코드 GAMER에 방향성으로 분리되지 않은 유체역학 스킴—MUSCL-Hancock, MUSCL-Hancock의 변종, 코너 전송 상류 방법—을 구현한 것으로, 하이브리드 MPI/OpenMP/GPU 병렬화를 사용한다. 단일 GPU에서 단일 CPU 코어 대비 최대 101배의 성능 향상을 달성했으며, 단열 유체역학 시험에서 널리 사용되는 CPU 코드 Athena에 비해 100배 성능 우수성을 보였다.

ABSTRACT

We present the implementation and performance of a class of directionally unsplit Riemann-solver-based hydrodynamic schemes on Graphic Processing Units (GPU). These schemes, including the MUSCL-Hancock method, a variant of the MUSCL-Hancock method, and the corner-transport-upwind method, are embedded into the adaptive-mesh-refinement (AMR) code GAMER. Furthermore, a hybrid MPI/OpenMP model is investigated, which enables the full exploitation of the computing power in a heterogeneous CPU/GPU cluster and significantly improves the overall performance. Performance benchmarks are conducted on the Dirac GPU cluster at NERSC/LBNL using up to 32 Tesla C2050 GPUs. A single GPU achieves speed-ups of 101(25) and 84(22) for uniform-mesh and AMR simulations, respectively, as compared with the performance using one(four) CPU core(s), and the excellent performance persists in multi-GPU tests. In addition, we make a direct comparison between GAMER and the widely-adopted CPU code Athena (Stone et al. 2008) in adiabatic hydrodynamic tests and demonstrate that, with the same accuracy, GAMER is able to achieve two orders of magnitude performance speed-up.

연구 동기 및 목표

  • GPU 가속화된 AMR 코드 GAMER에 방향성으로 분리되지 않은 리만 해법 기반의 유체역학 스킴을 구현하여 정확성 향상과 대칭성 유지 개선을 목적으로 한다.
  • GPU 가속화와 하이브리드 병렬화 모델을 활용해 천체물리학 시뮬레이션에서 고성능 계산을 가능하게 한다.
  • 동일한 수치 조건에서 기존의 CPU 코드 Athena와의 직접 비교를 통해 GAMER의 성능을 평가한다.
  • 이종 CPU/GPU 클러스터 환경을 최대한 활용하고 성능 저하 요인을 제거하기 위해 하이브리드 MPI/OpenMP/GPU 실행을 최적화한다.

제안 방법

  • 다차원 유체역학 시뮬레이션에서 공간 대칭성 유지와 정확도 향상을 위해 방향성으로 분리되지 않은 스킴—MUSCL-Hancock(MHM), MHM의 변종(VL), 코너 전송 상류 방법(CTU)—을 채택한다.
  • NVIDIA CUDA를 사용하여 GPU에서 실행 가능한 방식으로 이러한 스킴을 구현하였으며, 다중 재구성 방법(PLM, PPM), 리만 해법(HLLE, HLLC, Roe), 기울기 제한기 등을 지원한다.
  • MPI를 통한 노드 간 통신, OpenMP를 통한 다중 코어 CPU 오프로딩, GPU 커널을 통한 유체역학 및 중력 해법을 위한 하이브리드 MPI/OpenMP/GPU 병렬화 모델을 적용한다.
  • 비동기 메모리 전송과 동시에 실행 가능한 CPU-GPU 처리를 통해 데이터 이동 시간을 계산 시간과 겹쳐 비효율적 시간을 줄이고자 한다.
  • AMR 시뮬레이션을 위해 직사각형 도메인 분할을 적용하였으며, 로드 밸런싱 문제는 향후 과제로 남겨둔다.
  • NERSC Dirac GPU 클러스터에서 최대 32개의 Tesla C2050 GPU를 사용하여 성능 벤치마크를 수행하였으며, 단일 코어 및 4코어 CPU 구성에서의 실행 결과와 비교하였다.

실험 결과

연구 질문

  • RQ1방향성으로 분리되지 않은 유체역학 스킴이 수치 정확성과 대칭성을 유지하면서도 GPU에서 효율적으로 구현될 수 있는가?
  • RQ2하이브리드 MPI/OpenMP/GPU 모델은 CPU 전용 또는 단일 GPU 실행 대비 AMR 시뮬레이션에서 성능과 확장성에 어떤 영향을 미치는가?
  • RQ3동일한 단열 유체역학 시험 조건에서 GAMER는 널리 사용되는 CPU 코드 Athena에 비해 어느 정도의 성능 향상을 달성할 수 있는가?
  • RQ4다중 GPU AMR 시뮬레이션에서 통신 오버헤드와 로드 불균형은 강한 스케일링과 약한 스케일링에 어떤 영향을 미치는가?
  • RQ5비동기 메모리 복사 및 동시에 실행 가능한 CPU-GPU 처리 최적화는 이종 아키텍처에서 성능 저하 요인을 어느 정도 완화하는가?

주요 결과

  • 균일 메쉬 유체역학 시뮬레이션에서 단일 GPU는 단일 CPU 코어 대비 101배, 4개 CPU 코어 대비 25배의 성능 향상을 달성한다.
  • AMR 시뮬레이션에서 단일 GPU는 단일 CPU 코어 대비 84배, 4개 CPU 코어 대비 22배의 성능 향상을 보이며, 다수 GPU에서의 성능도 잘 스케일링된다.
  • 32-GPU 구성에서는 32코어 및 128코어 CPU 전용 실행 대비 각각 71.4배와 18.3배의 성능 향상을 달성하였으며, MPI 통신은 총 실행 시간의 약 11%를 차지한다.
  • 32-GPU 실험에서 약한 스케일링 효율은 98.8%이며, 강한 스케일링 효율은 85.0%에 도달하여 뛰어난 병렬 효율성을 보였다.
  • Athena 코드와의 직접 비교에서 GAMER는 동일한 정확도와 시험 조건에서 두 자리 수의 성능 향상(100배)을 달성하였다.
  • CTU와 제약 전송을 사용한 초기 MHD 테스트에서는 단일 CPU 코어 대비 60배의 성능 향상을 보였으며, 이는 향후 GAMER에서 MHD 지원 잠재력이 매우 높음을 시사한다.

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

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

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

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