Skip to main content
QUICK REVIEW

[논문 리뷰] Parallelizing the QUDA Library for Multi-GPU Calculations in Lattice Quantum Chromodynamics

Ronald Babich, Michael Clark, Balint Joo|arXiv (Cornell University)|2010. 10. 29.
Quantum Chromodynamics and Particle Interactions인용 수 59
한 줄 요약

이 논문은 MPI를 사용하여 라티스 양자 색역학(LQCD) 계산을 위한 QUDA 라이브러리의 다중 GPU에 걸친 최초의 성공적인 병렬화를 제시한다. 이는 단일 GPU 메모리 한계를 초월하는 큰 문제 크기에서 확장 가능한 성능을 가능하게 한다. 비동기 메모리 전송을 통해 통신과 계산을 겹치고 InfiniBand 인터커넥트를 최적화함으로써, 32개 GPU에서 3 TFlops 이상의 강력한 스케일링 성능과 4.75 TFlops의 약한 스케일링 성능을 달성하였으며, 비-GPU 클러스터 대비 10배 빠른 성능 향상을 입증하였다.

ABSTRACT

Graphics Processing Units (GPUs) are having a transformational effect on numerical lattice quantum chromodynamics (LQCD) calculations of importance in nuclear and particle physics. The QUDA library provides a package of mixed precision sparse matrix linear solvers for LQCD applications, supporting single GPUs based on NVIDIA's Compute Unified Device Architecture (CUDA). This library, interfaced to the QDP++/Chroma framework for LQCD calculations, is currently in production use on the "9g" cluster at the Jefferson Laboratory, enabling unprecedented price/performance for a range of problems in LQCD. Nevertheless, memory constraints on current GPU devices limit the problem sizes that can be tackled. In this contribution we describe the parallelization of the QUDA library onto multiple GPUs using MPI, including strategies for the overlapping of communication and computation. We report on both weak and strong scaling for up to 32 GPUs interconnected by InfiniBand, on which we sustain in excess of 4 Tflops.

연구 동기 및 목표

  • 단일 GPU LQCD 계산의 메모리 제약을 해결하기 위해 다중 GPU 병렬화를 가능하게 한다.
  • 대규모 LQCD 시뮬레이션에서 발생하는 성능 저하 요인을 다중 GPU에 걸친 해법 스케일링을 통해 극복한다.
  • 많은 우변항을 필요로 하는 복잡한 하드론 스펙트럼 계산을 위한 고성능·저비용 계산을 실현한다.
  • InfiniBand로 연결된 GPU 클러스터에서 지연 시간을 최소화하고 대역폭을 극대화하기 위해 통신과 계산의 겹침을 최적화한다.
  • 이전에는 단일 GPU의 메모리 제약으로 인해 불가능했던 대규모 라티스에서의 생산 수준의 LQCD 분석을 가능하게 한다.

제안 방법

  • 다중 GPU에 걸쳐 쿼크 상호작용 행렬을 분할하기 위해 MPI 기반 도메인 분할을 구현하였다.
  • 통신과 계산을 겹치기 위해 비동기 CUDA 메모리 전송(cudaMemcpyAsync)을 사용하였다.
  • OpenMPI를 통한 프로세서 소속 바인딩을 통해 메모리 대역폭을 최적화하였으며, MPI 프로세스를 올바른 CPU 소켓에 할당하였다.
  • 비대칭 Krylov 해법기인 BiCGstab의 수렴을 향상시키기 위해 균일-홀수(레드-블랙) 조건부 조건을 적용하였다.
  • NVIDIA GTX 285 GPU에서 지연 시간을 최소화하고 처리량을 극대화하기 위해 데이터 레이아웃과 메모리 접근 패턴을 최적화하였다.
  • cudaMemcpy 및 cudaMemcpyAsync의 지연 시간과 대역폭을 측정하기 위한 마이크로 벤치마크를 수행하였으며, 초기 Intel 5520 칩셋에서의 하드웨어 특성에 기인한 성능 저하 요인을 규명하였다.

실험 결과

연구 질문

  • RQ1MPI를 사용하여 QUDA 라이브러리를 다중 GPU에 효과적으로 병렬화할 수 있는가? 이는 단일 GPU의 메모리 한계를 초월하여 스케일링이 가능한가?
  • RQ2다중 GPU 클러스터에서 지연 시간을 최소화하고 성능을 극대화하기 위해 통신과 계산을 어떻게 효과적으로 겹칠 수 있는가?
  • RQ3실제 LQCD 문제 크기에서 32개 GPU로 구성된 InfiniBand 연결 시스템에서의 성능 스케일링(강력한 스케일링 및 약한 스케일링)은 어느 정도인가?
  • RQ4NUMA 아키텍처 및 PCIe 대역폭과 같은 시스템 수준의 요소들이 LQCD 해법기의 다중 GPU 성능에 어떤 영향을 미치는가?
  • RQ5단일 GPU 또는 비-GPU 워크로드 대비 다중 GPU 병렬화가 GPU 클러스터 노드의 비용 효율성과 자원 활용도에 얼마나 기여하는가?

주요 결과

  • 저자들은 실제 물리적 문제 크기에서 32개 GPU에서 3 TFlops 이상의 강력한 스케일링 성능을 달성하였으며, 동일한 프로세서 수를 가진 비-GPU 클러스터 대비 10배 빠른 성능 향상을 이룩하였다.
  • 약한 스케일링은 32개 GPU에서 4.75 TFlops에 도달하여 시스템 전반에 걸친 균형 잡힌 로드 분배가 효과적으로 이루어졌음을 보여주었다.
  • 비동기 메모리 전송(cudaMemcpyAsync)은 약 50 마이크로초의 지연 시간을 유발하였으며, 동기 cudaMemcpy의 약 11 마이크로초 대비 상당히 높은 것으로 나타나, 특정 하드웨어에서의 성능 제약을 드러내었다.
  • MPI 프로세스가 잘못된 CPU 소켓에 바인딩된 경우 성능이 심각하게 저하되었으며, 이는 최적의 대역폭 확보를 위해 NUMA 인식 프로세스 바인딩의 중요성을 입증하였다.
  • 다중 GPU 접근 방식은 이전에는 단일 GPU의 메모리 제약으로 인해 불가능했던 대규모 LQCD 문제(예: 243×128 라티스)의 해법을 가능하게 하였다.
  • 최적화된 다중 GPU 해법기는 이제 분산 기법을 사용한 하드론 스펙트럼 계산에 생산 환경에서 사용 중이며, 구성당 32,768회의 해법 호출이 이루어지며 GPU 가속 기술의 혜택을 크게 받고 있다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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