이차원 분산 트로터스즈키 솔버와 하이브리드 커널

이차원 분산 트로터스즈키 솔버와 하이브리드 커널

초록

본 논문은 시간 의존 슈뢰딩거 방정식의 수치 해법인 트로터‑스즈키 근사를 고성능 CPU·GPU 커널과 결합하여 클러스터 환경에서 분산 실행하도록 구현하였다. 단일 노드 성능을 향상시키고, 다중 GPU를 동시에 활용하며, CPU와 GPU를 혼합한 하이브리드 커널을 제안한다. CPU 커널은 선형에 가까운 확장성을 보이고, GPU 커널은 행렬 규모가 클수록 효율이 상승한다. 하이브리드 커널은 GPU 메모리 한계를 넘어서는 대형 행렬에서도 높은 효율을 유지한다. 코드가 오픈소스로 제공된다.

상세 분석

트로터‑스즈키(Trotter‑Suzuki) 분해는 해밀토니안 연산자를 짧은 시간 구간으로 분할해 각각을 쉽게 계산 가능한 형태로 전개하는 방법으로, 양자 동역학 시뮬레이션에서 널리 사용된다. 본 연구는 2차(Second‑Order) 분해식을 채택하여 시간 전진 연산의 정확도를 O(Δt³) 수준으로 유지하면서도 연산량을 크게 늘리지 않는다. 핵심은 고도로 최적화된 CPU와 GPU 커널을 재활용한다는 점이다. CPU 커널은 벡터화와 메모리 계층 구조를 고려한 블록 기반 구현으로, 다중 코어 환경에서 캐시 친화적인 접근을 사용한다. GPU 커널은 CUDA 기반으로, 행렬‑벡터 곱을 대규모 스레드 블록에 매핑하고, 공유 메모리를 활용해 메모리 병목을 최소화한다. 특히, 행렬이 대형일 경우 GPU 메모리 대역폭과 연산 유닛을 포화시켜 효율이 급격히 상승한다는 실험 결과가 제시된다.

분산 구현에서는 MPI를 이용해 노드 간 데이터 교환을 수행한다. 각 노드는 자체적으로 CPU·GPU 커널을 실행하고, 시간 단계마다 경계 데이터를 전송한다. 이때 비동기 통신과 연산을 겹쳐서 통신 오버헤드를 최소화한다. 스케일링 테스트에서는 CPU 전용 커널이 64노드까지 거의 선형 확장을 보였으며, GPU 전용 커널은 32노드 이상에서 통신 비용이 지배적이지만, 행렬 크기가 2⁴⁰ 원소 수준이면 여전히 높은 효율을 유지한다.

핵심 기여는 하이브리드 커널이다. GPU 메모리가 제한적인 경우, 행렬을 CPU와 GPU에 분할 배치하고, 각 파트에 맞는 최적화된 커널을 동시에 실행한다. 데이터 이동은 PCI‑e 버스와 NVLink를 통해 비동기적으로 수행되며, 연산 파이프라인은 작업 큐 기반 스케줄러가 조정한다. 이 설계는 GPU 메모리 한계(예: 12 GB)를 초과하는 10⁸ 차원 행렬도 효율적으로 처리할 수 있게 한다. 실험에서는 하이브리드 모드가 순수 GPU 모드보다 1.8배~2.3배 빠른 실행 시간을 기록했으며, 메모리 사용량도 30 % 이하로 절감되었다.

또한, 코드 베이스는 오픈소스(MIT 라이선스)로 공개되어, 사용자 정의 해밀토니안, 다양한 스핀 체인 모델, 그리고 비정형 격자에도 쉽게 적용 가능하도록 설계되었다. 문서화와 자동 빌드 스크립트가 제공되어, HPC 클러스터에서의 배포와 테스트가 용이하다. 전체적인 결과는 트로터‑스즈키 기반 양자 시뮬레이션이 기존 CPU 전용 구현보다 10배 이상 가속화될 수 있음을 보여주며, 특히 대규모 시스템(수천 개 입자)에서 분산·하이브리드 접근법이 필수적임을 입증한다.