Skip to main content
QUICK REVIEW

[논문 리뷰] Porting Large HPC Applications to GPU Clusters: The Codes GENE and VERTEX

T. Dannert, Andreas Marek|arXiv (Cornell University)|2013. 10. 05.
Magnetic confinement fusion research참고 문헌 7인용 수 3
한 줄 요약

이 논문은 CUDA를 사용하여 GPU 가속 클러스터로 대규모 HPC 애플리케이션 두 개—플라즈마 난류를 위한 GENE와 코어 붕괴 초신성 시뮬레이션을 위한 VERTEX—의 이식을 수행한다. 저자들은 GPU 커널 최적화와 CPU-GPU 작업 분담을 통해 최대 2배의 성능 향상을 달성하였으며, 이는 이종 아키텍처가 생산 수준의 과학적 코드에 대해 해답 시간을 크게 단축시킬 수 있음을 보여주며, 확장성 손실 없이도 가능하다.

ABSTRACT

We have developed GPU versions for two major high-performance-computing (HPC) applications originating from two different scientific domains. GENE is a plasma microturbulence code which is employed for simulations of nuclear fusion plasmas. VERTEX is a neutrino-radiation hydrodynamics code for "first principles"-simulations of core-collapse supernova explosions. The codes are considered state of the art in their respective scientific domains, both concerning their scientific scope and functionality as well as the achievable compute performance, in particular parallel scalability on all relevant HPC platforms. GENE and VERTEX were ported by us to HPC cluster architectures with two NVidia Kepler GPUs mounted in each node in addition to two Intel Xeon CPUs of the Sandy Bridge family. On such platforms we achieve up to twofold gains in the overall application performance in the sense of a reduction of the time to solution for a given setup with respect to a pure CPU cluster. The paper describes our basic porting strategies and benchmarking methodology, and details the main algorithmic and technical challenges we faced on the new, heterogeneous architecture.

연구 동기 및 목표

  • GPU 가속 클러스터로의 이식을 통해 대규모 생산 수준의 HPC 응용 프로그램에서 성능 향상을 이끌어내는 것.
  • 기존에 매우 효율적으로 최적화된 병렬 확장성을 갖춘 복잡한 과학적 코드에 GPU 가속을 통합하는 데 도전하는 것.
  • fusion 에너지 및 천체물리학 분야의 실제 HPC 워크로드에서 GPU 오프로딩의 실현 가능성과 성능 향상을 평가하는 것.
  • 이종 아키텍처에서의 데이터 이동 및 커널 이식의 주요 병목 현상을 규명하고 이를 해결하는 것.
  • 장기적인 과학적 응용 프로그램에 대해 GPU 이식의 지속 가능성, 유지보수성 및 비용 효율성을 평가하는 것.

제안 방법

  • CUDA 프로그래밍 모델을 사용하여 GPU 커널 개발을 수행하였으며, CUDA-Fortran 대비 뛰어난 GPU 성능를 고려해 이식성보다 성능을 우선시하였다.
  • 성능 기준선으로 동일한 노드 수에서 최적화된 CPU 전용 실행을 사용하여 공정한 비교를 확보하였다.
  • GENE와 VERTEX의 정밀한 프로파일링을 수행하여 필드 솔버 및 비선형 항 계산과 같은 계산 집약적 커널을 규명하였다.
  • CPU와 GPU 간의 데이터 전송을 최적화하여, 특히 PCIe 2.0 환경에서 GENE에서 주요 병목으로 나타나는 문제를 파악하였다.
  • 노드 간 CPU 및 GPU 작업을 균형 있게 분배하여 활용도 저하를 방지하고 전체 응용 프로그램의 처리량을 극대화하였다.
  • 수동 최적화된 CUDA 커널 대비 성능이 열 劣한 OpenACC 및 OpenMP 기반 접근 방식을 회피하였다.

실험 결과

연구 질문

  • RQ1GENE와 VERTEX와 같은 대규모 생산 수준의 HPC 응용 프로그램이 GPU 가속 클러스터로 이식될 경우 상당한 성능 향상을 달성할 수 있는가?
  • RQ2이종 CPU-GPU 아키텍처로 복잡하고 고도로 병렬화된 과학적 코드를 이식할 때 주요 성능 병목은 무엇인가?
  • RQ3GPU 가속은 기존 HPC 응용 프로그램의 약한 확장성에 어떤 영향을 미치는가?
  • RQ4핵심 알고리즘 재설계 없이 성능 향상을 어느 정도 달성할 수 있는가?
  • RQ5저수준 GPU 커널을 사용할 경우 개발 노력, 유지보수성 및 장기적 지속 가능성 간의 상충 관계는 어떠한가?

주요 결과

  • GENE와 VERTEX 모두 노드당 두 개의 K20X GPU를 탑재한 GPU 가속 클러스터에서 전체 응용 프로그램 성능을 최대 2배 향상시켰다.
  • GENE의 성능은 현재 CPU와 GPU 간 데이터 전송에 의해 제한되어 있으며, 향후 PCIe 3.0 하드웨어 도입으로 향상될 것으로 예상된다.
  • VERTEX는 GPU 클러스터에서 뛰어난 약한 확장성을 보였으며, 기존의 높은 성능 특성을 유지하였다.
  • 블록-삼중대각 행렬의 선형 솔버가 이식될 경우 3배의 성능 향상이 가능하지만, 현재는 장치에서 호출 가능한 LAPACK 功能 부족으로 인해 차단되어 있다.
  • GENE와 VERTEX의 CPU 전용 버전은 이미 매우 최적화되어 있었기 때문에, 고성능 기반선을 고려할 때 GPU 오프로딩의 성능 향상은 상당히 뚜렷했다.
  • 각 코드당 수개월 분량의 노력이 성능 향상에 비해 정당화되었으며, 특히 에너지 효율성 향상과 하드웨어 비용 절감 측면에서 유의미했다.

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

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

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

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