Core Concepts
BIT1 입자-격자 몬테카를로 코드의 성능을 향상시키기 위해 OpenMP와 OpenACC를 사용한 하이브리드 병렬 처리 및 GPU 가속 기법을 개발하였다.
Abstract
이 연구에서는 BIT1 입자-격자 몬테카를로 코드의 성능 향상을 위해 다음과 같은 작업을 수행하였다:
OpenMP와 OpenACC를 사용하여 BIT1의 하이브리드 MPI 및 공유 메모리 병렬 처리 버전을 설계하고 구현하였다. 이를 통해 입자 이동기 함수의 부하 불균형 문제를 해결하였다.
OpenMP와 OpenACC를 사용하여 BIT1의 첫 번째 GPU 이식 버전을 개발하였다. 통합 메모리와 명시적 데이터 이동 전략을 조사하였다.
BIT1 GPU 구현의 성능을 분석하고 토의하였다. 특히 MPI 랭크를 전용 GPU에 할당할 때 동시 GPU 활용을 통한 성능 향상을 보여주었다.
NVIDIA Nsight 도구를 사용하여 BIT1의 계산 효율성을 분석하고, 대규모 플라즈마 시뮬레이션을 위한 최적화 방향을 제시하였다.
이 연구는 BIT1 코드의 성능을 크게 향상시켰으며, 현대 하드웨어의 완전한 활용을 통해 플라즈마 동역학에 대한 이해를 높이고 핵융합 및 플라즈마 과학 연구를 발전시키는 데 기여할 것으로 기대된다.
Stats
BIT1 입자 이동기 함수는 코드의 가장 계산 집약적인 부분 중 하나이다.
OpenMP와 OpenACC를 사용한 하이브리드 병렬 처리 버전에서 총 실행 시간과 최적화된 이동기 함수 실행 시간이 크게 감소하였다.
OpenMP Target을 사용한 GPU 오프로딩 버전에서 2개의 GPU를 활용할 때 실행 시간이 크게 줄어들었다.
Quotes
"BIT1은 플라즈마-벽 상호작용을 정확하게 모델링하는 데 특화된 고급 입자-격자 코드이다."
"BIT1은 토카막 디버터의 전력 부하 분포를 분석하는 데 널리 사용된다."
"BIT1의 현재 구현은 MPI만을 사용하며 GPU 지원이 없다는 한계가 있다."