다중 GPU 클러스터에서 자유표면 흐름을 위한 SPH 시뮬레이션 가속화
초록
본 논문은 단일 GPU 기반 DualSPHysics 코드를 확장해, MPI와 공간 분할을 이용한 다중 GPU 구현을 제시한다. 래디컬 소트를 활용한 입자 이동 및 halo 구축으로 32 백만 입자 규모까지 메모리 한계를 넘어선 시뮬레이션이 가능하며, 약한·강한 스케일링 실험을 통해 효율성을 검증한다.
상세 분석
본 연구는 Smoothed Particle Hydrodynamics(SPH) 방식의 자유표면 흐름 시뮬레이션을 GPU 가속 환경에서 확장하는 데 초점을 맞춘다. 기존 DualSPHysics는 단일 GPU 메모리와 연산 자원에 의존했으나, 입자 수가 수백만을 초과하면 메모리 부족과 연산 포화 현상이 발생한다. 이를 해결하기 위해 저자들은 공간 분할(spatial decomposition) 기반의 도메인 분할 방식을 채택하였다. 물리 영역을 균등한 서브도메인으로 나누고, 각 서브도메인을 별도 GPU에 할당함으로써 메모리 용량을 선형적으로 확장한다. GPU 간 데이터 교환은 MPI를 통해 수행되며, 특히 입자 이동(particle migration)과 서브도메인 경계 영역(halo) 구축 단계에서 통신 비용이 크게 증가한다는 점을 인식하고, 이 단계에 특화된 병렬 정렬 알고리즘인 radix sort를 적용하였다. radix sort는 GPU 메모리 내에서 O(N) 시간 복잡도로 정렬을 수행해, 입자 ID와 위치 기반으로 빠르게 이동 입자를 식별하고, halo에 포함될 입자를 효율적으로 추출한다.
통신 구조는 2단계로 설계되었다. 첫 번째 단계는 각 GPU가 자신의 서브도메인 경계에 위치한 입자를 추출해 MPI_Send/Recv로 인접 GPU에 전달하고, 두 번째 단계는 수신된 입자를 로컬 파티클 리스트에 병합한다. 이때, 비동기 스트림과 CUDA 이벤트를 활용해 연산과 통신을 겹치게 함으로써 오버헤드를 최소화한다. 또한, 입자 수가 불균형하게 분포될 경우 로드 밸런싱을 위해 동적 서브도메인 재조정(dynamic repartitioning) 옵션을 제안했지만, 현재 구현에서는 정적 균등 분할에 머물러 있다.
성능 평가에서는 약한 스케일링(입자 수를 GPU 수에 비례하게 증가)과 강한 스케일링(고정 입자 수에 GPU 수 증가) 두 축에서 실험을 수행하였다. 32 백만 입자(8 GPU)까지는 거의 선형에 가까운 속도 향상을 보였으며, 64 GPU까지 확장했을 때는 통신 대역폭과 halo 구축 비용이 병목으로 작용해 효율이 70 % 수준으로 감소한다. 특히, halo 영역에 포함되는 입자 비율이 전체 입자 대비 5 % 이하일 때는 정렬 및 복사 비용이 미미하지만, 복잡한 자유표면 파동이나 파쇄 현상에서는 이 비율이 15 % 이상으로 상승해 전체 실행 시간의 30 %까지 차지한다.
저자들은 이러한 병목을 해소하기 위한 향후 방안으로, (1) 비동기 파이프라인을 강화해 통신‑연산 겹침을 최적화, (2) GPU 직접 연결(NVLink) 기반의 P2P 메모리 접근을 도입해 MPI 호출 횟수를 감소, (3) 입자 기반 적응형 서브도메인 분할을 통해 로드 밸런스를 동적으로 유지하는 전략을 제시한다. 전반적으로, 본 논문은 GPU 클러스터 환경에서 SPH 시뮬레이션을 확장하는 실용적인 프레임워크를 제공하며, 특히 래디컬 소트를 활용한 입자 정렬·전달 메커니즘이 대규모 자유표면 흐름 연구에 중요한 전환점이 될 수 있음을 입증한다.