[논문 리뷰] MILC Code Performance on High End CPU and GPU Supercomputer Clusters
이 논문은 QPhiX, QOPQDP, QUDA 라이브러리를 사용하여 고성능 CPU 및 GPU 클러스터에서 MILC 격자 QCD 코드의 성능 최적화를 제시한다. 인텔 노던 킬더링(KNL)에서 고산술 밀도와 벡터화된 커널을 활용해 게이지 힘 계산에서 최대 10배의 성능 향상을 달성하였으며, 2048노드 클러스터에서 강한 약한 스케일링 효율이 80%를 초과한다.
With recent developments in parallel supercomputing architecture, many core, multi-core, and GPU processors are now commonplace, resulting in more levels of parallelism, memory hierarchy, and programming complexity. It has been necessary to adapt the MILC code to these new processors starting with NVIDIA GPUs, and more recently, the Intel Xeon Phi processors. We report on our efforts to port and optimize our code for the Intel Knights Landing architecture. We consider performance of the MILC code with MPI and OpenMP, and optimizations with QOPQDP and QPhiX. For the latter approach, we concentrate on the staggered conjugate gradient and gauge force. We also consider performance on recent NVIDIA GPUs using the QUDA library.
연구 동기 및 목표
- 최신 고성능 컴퓨팅 아키텍처인 인텔 노던 킬더링(KNL)과 NVIDIA GPU를 고려하여 MILC 격자 QCD 코드를 적응화한다.
- 다중 코어, 멀티코어, GPU 기반 시스템으로 인한 프로그래밍 복잡도 증가를 해결하기 위해 병렬 처리와 메모리 계층 구조 활용을 강화한다.
- 특수화된 라이브러리를 통해 핵심 격자 QCD 루틴—공액상승 해법기, 게이지 힘, 페르미온 힘—의 성능을 향상시킨다.
- 최적화된 라이브러리를 사용하여 KNL 클러스터와 GPU 노드에서 약한 스케일링 효율성과 성능 향상을 평가한다.
- 라이브러리 추상화와 벡터화를 통해 향후 신규 아키텍처로의 이식성과 성능 이식성을 보장한다.
제안 방법
- QPhiX 라이브러리를 사용하여 인텔 노던 킬더링(KNL)에서 MILC 코드를 이식하고 최적화하였으며, 이는 512비트 SIMD 벡터 유닛과 OpenMP 스레딩을 지원한다.
- QOPQDP 라이브러리를 활용하여 공액상승 및 게이지 힘 루틴의 고수준 최적화를 수행하였으며, 데이터 병렬 선형 대수 및 입출력 루틴을 기반으로 한다.
- NVIDIA P100 및 K20 GPU에서의 GPU 가속을 위해 QUDA 라이브러리를 사용하여 혼합 정밀도 계산과 효율적인 게이지 장 압축을 가능하게 하였다.
- QPhiX에서 구조-배열(SOA) 데이터 레이아웃을 적용하여 캐시 재사용을 향상시켰으며, 이는 그리드 라이브러리의 메모리 모델과 일치한다.
- 게이지 힘 루틴에서 통신 패턴을 최적화하여 지연 시간을 줄이고 약한 스케일링 효율성을 향상시켰다.
- ALCF, NERSC, TACC 등의 초고성능 컴퓨팅 센터에서 $16^4$ 및 $24^4$ 격자로 su3_rhmd_hisq 애플리케이션을 사용하여 성능 벤치마크를 실시하였다.
실험 결과
연구 질문
- RQ1QPhiX와 QOPQDP 최적화를 통해 인텔 노던 킬더링(KNL)에서 스타그글드 공액상승 해법기의 성능는 어떻게 스케일링되나요?
- RQ2고산술 밀도와 벡터화가 KNL 클러스터에서 시만직 원-루프 게이지 힘의 약한 스케일링 효율성에 어떤 영향을 미치나요?
- RQ3KNL 및 GPU 아키텍처에서 QPhiX와 QUDA의 성능 특성은 게이지 힘 및 페르미온 힘 루틴에서 어떻게 비교되나요?
- RQ4기본 MILC 코드 대비 최적화된 라이브러리(QPhiX, QOPQDP, QUDA)의 사용이 런타임을 얼마나 줄이고 스케일링 효율성을 얼마나 향상시키나요?
- RQ5하이퍼스레딩 및 MPI/OpenMP 스레드 구성은 KNL 및 GPU 시스템에서 성능과 스케일링에 어떤 영향을 미치나요?
주요 결과
- QPhiX 최적화된 스타그글드 공액상승 해법기는 단일 KNL 노드에서 기본 MILC 대비 1.5배 성능 향상을 달성하였지만, 클러스터에서는 네트워크 대역폭에 의해 제한되었다.
- QPhiX를 적용한 시만직 원-루프 게이지 힘 루틴은 기본 MILC 대비 런타임을 10배 감소시켰으며, 산술 밀도는 1.1에서 2.0 이상으로 상승하였다.
- Cori II(2048노드)에서의 게이지 힘 약한 스케일링 효율은 QPhiX를 사용해 80%를 초과하였으며, 기본 코드의 40% 효율보다 뚜렷이 높았다.
- 단일 GPU 노드에서 P100은 게이지 힘에서 KNL 노드 대비 약 2.3배 높은 성능을 보였으며, K20 대비 최대 5배 높은 성능을 기록하였다.
- QOPQDP 최적화 HISQ 페르미온 힘 루틴은 기본 MILC 대비 런타임을 약 20%로 줄였으며, 최대 64개의 KNL 노드에서 약한 스케일링 효율이 50–80%를 기록하였다.
- 데이터 재매핑 오버헤드는 현재 게이지 힘 루틴과 동일한 시간을 차지하고 있으나, 알고리즘이 QPhiX에 완전히 통합되면 감소할 것으로 예상된다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.