GPU 가속 환경 시뮬레이션, 슈퍼컴퓨터 능가
박사과정 학생이 복잡한 시뮬레이션을 GPU에서 실행하는 게임 기술을 개발했습니다. 시뮬레이션은 거대한 해양 파도가 해상 풍력 터빈을 때리는 상황을 다룹니다. 댐 붕괴 시뮬레이션이 GPU에서 16스레드 CPU 실행 시간보다 최대 4.5배 빠르게 실행되었습니다.
지금까지 수행된 시뮬레이션
알렉스 차우(Alex Chow)는 맨체스터 대학교에서 박사과정을 밟으며 복잡한 공학·과학 시뮬레이션을 그래픽 처리 장치(GPU)에서 수행하는 프로그램을 만들었습니다.
지금까지 고성능 그래픽 카드는 PC, 노트북, 게임 콘솔용 사실적 비주얼과 빠른 게임플레이를 만드는 데 쓰였습니다. 하지만 이제 GPU는 복잡한 시뮬레이션을 가속화하는 기술로 부상 중이며, 기존 CPU보다 수백 배 빠르게 여러 애플리케이션을 실행합니다.
궁극적 목표는 슈퍼컴퓨터 대신 그래픽 카드에서 대규모 시뮬레이션을 수행하는 것입니다. 슈퍼컴퓨터는 병렬로 연결된 수백 개의 CPU로 구성돼 수십억 번 계산 수행 시 많은 전력을 소모합니다. 또한 매우 비싸고 소수 과학자·연구자만 이용 가능합니다.
반면 GPU는 에너지 효율적이고 기존 슈퍼컴퓨터보다 훨씬 저렴합니다. 방 전체나 전용 시설이 필요 없습니다. 사실 최신 그래픽 카드는 노트북에 들어갈 만큼 작습니다.
어떻게 했나?
소프트웨어는 'DualSPhysics'라는 오픈소스 코드로 개발됐으며, 이는 매끄러운 입자 유체역학(SPH) 모델 기반입니다. 이 코드는 복잡한 시뮬레이션(격렬한 유체역학적 흐름 등)을 GPU에서 실행하게 합니다. 단일 장치에서 3D 과학 애플리케이션을 위한 수백만 데이터 포인트 계산을 처리할 수 있습니다.
차우에게 가장 도전적인 부분은 시뮬레이션 내내 급변하는 수백만 방정식 수학 시스템을 동시 해결하는 것이었습니다.
참조: ScienceDirect | doi:10.1016/j.cpc.2018.01.005 | University of Manchester
기술적 세부사항
비압축성 SPH는 약압축성 SPH 코드를 최적화하고 비엔나CL(ViennaCL, 오픈소스 선형대수 라이브러리)과 통합해 압력 푸아송 방정식(Pressure Poisson equation, PPE)을 빠르게 구현함으로써 실행됩니다.
PPE 행렬은 특정 간격으로 움직이는 입자들에 대해 생성돼 GPU의 제한된 메모리를 최적화합니다. 비압축성 SPH 압력 투영 알고리즘은 4단계로 실행됩니다. 또한 효율적 병렬 처리를 위해 정밀하고 견고한 경계 조건이 수립됩니다.
DualSPHysics Predictor–Corrector 타임스텝의 GPU상 핵심 반복 단계 흐름도
이 연구에서 수많은 검증 사례들을 보여주며 기술의 정밀도, 속도, 유연성을 입증했습니다. 예를 들어, 댐 붕괴 시뮬레이션이 GPU에서 16스레드 및 단일 스레드 CPU 실행 시간보다 각각 최대 4.5배, 18배 빠르게 실행되었습니다.
이 시뮬레이션이 어떻게 도움이 되나?
영국은 연간 전기 에너지의 5%를 해상 풍력에서 생산하며, 향후 2년 내 10%로 성장할 전망이고 전 세계적으로도 성장 중입니다.
해양 환경은 때로 극도로 가혹하고 폭력적이어서, 이를 위한 구조물 개발은 쉬운 일이 아닙니다. 이런 환경에서의 물리적 실험은 매우 비싸고 시간 소모적이거나, 비현실적이라고 할 수 있습니다.
관련 기사: 광학 처리 기술 기반 세계 최초 신경망
이 시뮬레이션들은 과학자와 엔지니어들이 비용이 많이 드는 실험에 투자하지 않고도 구조물 설계와 산업 자유표면 유체역학 엔지니어링 응용에 대한 중요한 단계와 결정을 내리는 데 도움을 줄 것입니다.