대규모 DFT 계산을 위한 3차원 도메인 분할 기법
초록
본 논문은 초고성능 슈퍼컴퓨터에서 밀도범함수이론(DFT) 기반 전자구조 계산을 효율적으로 수행하기 위한 3차원 도메인 분할 방식을 제안한다. 원자와 격자를 각각 독립적으로 분할하는 두 단계의 방법을 도입하고, 관성 텐서 기반 재귀 이분법으로 원자들을 실공간 근접성에 따라 정렬한다. 격자 분할은 네 가지 데이터 구조를 정의해 원자 클러스터와 일치하도록 설계했으며, Hartree 전위 계산을 위한 3차원 FFT 기반 포아송 방정식 해결법을 제시한다. OpenMX 코드와 O(N) Krylov 서브스페이스 방법을 이용한 벤치마크에서 131 072코어(16 384코어 대비 67.7% 효율)까지 강·약 스케일링이 우수함을 입증한다.
상세 분석
이 연구는 차세대 엑사플롭스 시대에 대비한 DFT 계산의 병렬화 전략을 체계적으로 재구성한다는 점에서 의미가 크다. 기존의 2차원 FFT 기반 포아송 솔버는 프로세스 간 통신량이 급격히 증가해 대규모 코어 수에서 병목이 발생한다는 한계가 있었는데, 저자들은 3차원 FFT를 이용해 데이터 분할을 전역적으로 균등하게 배분함으로써 통신 효율을 크게 향상시켰다. 특히, 원자 분할 단계에서 관성 텐서의 주축을 이용해 원자들을 일차원으로 투영하고, 그 투영값을 기준으로 재귀적으로 이분하는 방식은 공간적 근접성을 보존하면서도 부하 균형을 자동으로 맞출 수 있다. 이는 기존의 단순한 라인 스캔이나 정규 격자 기반 분할보다 복잡한 비정형 구조(예: 결함, 표면, 나노구조)에도 적용 가능하게 만든다.
격자 분할에서는 “grid‑atom correspondence”, “halo region”, “local block”, “global index” 등 네 가지 데이터 구조를 정의해, 각 프로세스가 담당하는 격자 블록과 해당 블록에 매핑되는 원자 정보를 일관되게 유지한다. 이러한 설계는 전자밀도와 전위 계산 시 필요한 주변 격자(halo) 교환을 최소화하고, 메모리 접근 패턴을 연속적으로 만들어 캐시 효율을 높인다. 또한, O(N) Krylov 서브스페이스 방법과 결합했을 때, 전자밀도 업데이트와 해밀토니안 적용 단계에서 발생하는 행렬‑벡터 곱 연산이 지역화되어 통신 오버헤드가 크게 감소한다.
벤치마크 결과는 두드러진 스케일링을 보여준다. K 컴퓨터(일본)에서 131 072개의 코어를 사용해 131 072개의 다이아몬드 원자를 처리했을 때, 16 384코어 기준 대비 67.7%의 병렬 효율을 달성했으며, 이는 기존 2차원 분할 방식이 40% 이하에 머물렀던 상황과 비교해 현저히 개선된 수치이다. 약 10배 이상의 코어 수 확대에도 강한 스케일링을 유지한 점은, 제안된 도메인 분할이 통신 비용을 제어하면서도 계산 부하를 균등하게 배분한다는 것을 실증한다.
한편, 이 방법은 OpenMX와 같은 오픈소스 DFT 패키지에 직접 통합될 수 있도록 설계되었으며, 구현 코드가 공개돼 재현 가능성을 높인다. 다만, 현재는 주로 정규 격자 기반 평면파(PW)와 PAO(원자 궤도) 혼합 기법에 초점을 맞추고 있어, 전자구조 계산에서 최근 각광받는 실시간 타임-디펜던트 DFT나 머신러닝 기반 포텐셜과의 연계에 대한 논의는 부족하다. 향후 연구에서는 이러한 새로운 전자동역학 방법과의 호환성, 그리고 GPU 가속기에 대한 최적화 방안을 탐색할 필요가 있다.
전반적으로, 관성 텐서 기반 원자 재배열, 3차원 FFT 포아송 솔버, 그리고 정교한 격자 데이터 구조라는 세 축을 결합한 이 논문의 접근법은 대규모 DFT 시뮬레이션의 병렬 효율성을 크게 향상시켰으며, 차세대 초고성능 컴퓨팅 환경에서 전자구조 계산이 실용적인 수준으로 확장될 수 있음을 보여준다.