[Paper] 복소 행렬 곱셈의 중국 나머지 정리 기반 에뮬레이션
Source: arXiv - 2512.08321v1
Overview
현대 GPU와 AI 가속기는 초고속 INT8(8‑비트 정수) 행렬‑곱 연산 유닛을 탑재하고 있지만, 많은 과학 및 그래픽 워크로드는 여전히 단일‑ 또는 배정밀도 복소수 연산을 필요로 합니다. 이 논문은 기존 Ozaki‑II 프레임워크 위에 수론적 트릭(중국 나머지 정리)을 활용하여 INT8 하드웨어에서 고정밀 복소수 행렬 곱을 에뮬레이트하는 방법을 제시합니다. NVIDIA B200 GPU에서 저자들은 cuBLAS의 네이티브 복소수 GEMM 대비 4–6배의 속도 향상을 보고했으며, 이는 더 빠르고 전력 효율적인 HPC 및 신호 처리 파이프라인의 길을 열어줍니다.
Key Contributions
- 복소수에 대한 Ozaki‑II 확장: 정수 기반 에뮬레이션 방식을 단일(FP32) 및 배정밀도(FP64) 복소수 행렬 모두에 적용하도록 개조했습니다.
- CRT‑구동 분해: 중국 나머지 정리를 이용해 고정밀 피연산자를 여러 저정밀 INT8 조각으로 분할하고, 이를 기존 텐서 코어에서 병렬 처리합니다.
- NVIDIA GPU용 고처리량 커널: B200 아키텍처에 맞게 구현·튜닝하여 FP32에서 4.0–5.6×, FP64에서 4.4–6.5×의 속도 향상을 달성했습니다.
- 정밀도‑처리량 트레이드오프 노브: 개발자가 약간의 수치 손실을 감수하고 속도를 높이거나, 약간의 오버헤드만으로 높은 정밀도를 유지하도록 선택할 수 있는 파라미터를 제공합니다.
- 포괄적 평가: 다양한 행렬 크기, 정밀도 수준, 오류 지표에 대한 벤치마크를 수행해, 필요에 따라 cuBLAS를 능가하거나 정확도 면에서 앞서는 결과를 보여줍니다.
Methodology
-
수론적 분해:
- 고정밀 복소수 행렬의 각 원소를 신중히 선택된 여러 기반에 대한 INT8 “잔여”들의 합으로 표현합니다.
- 중국 나머지 정리는 이러한 잔여들로부터 원래 값을 완벽히 복원할 수 있음을 보장합니다.
-
병렬 저정밀 GEMM:
- 잔여들을 GPU의 INT8 텐서 코어에 전달하여 다수의 작은 GEMM 연산을 동시에 수행합니다.
- 텐서 코어는 파이프라인이 깊어 전체 지연시간은 연산보다 데이터 이동에 의해 지배됩니다.
-
재구성 및 오류 보정:
- INT8 GEMM이 완료되면 CRT 기반 재조합 공식을 사용해 부분 결과를 결합합니다.
- 선택적으로 Kahan 합산과 같은 정밀도 향상 단계를 적용해 최종 반올림 오류를 줄일 수 있습니다.
-
튜닝 파라미터:
- CRT 기반 개수, 스케일링 팩터, 정밀도 보정 단계 적용 여부 등을 런타임 옵션으로 제공해, 개발자가 속도와 정밀도 사이를 조정할 수 있습니다.
전체 파이프라인은 cuBLAS의 cgemm/zgemm을 대체하는 드롭‑인 형태로 구현되어, 대부분의 코드베이스에서 헤더‑전용 라이브러리 교체만으로 사용할 수 있습니다.
Results & Findings
| Precision | Speedup vs. cuBLAS | Typical Relative Error (ℓ₂) |
|---|---|---|
| FP32 (complex) | 4.0× – 5.6× | ≤ 1.2 × 10⁻⁶ (native와 동등) |
| FP64 (complex) | 4.4× – 6.5× | ≤ 2.5 × 10⁻⁹ (종종 cuBLAS보다 우수) |
- **대형 행렬(≥ 4096 × 4096)**에서 전체 이점을 얻을 수 있으며, 작은 문제는 커널 시작 오버헤드에 제한됩니다.
- 사용자가 오류 한계를 완화(예: 상대 오차 1e‑4 허용)하면 동일 커널이 최대 8배까지 빨라집니다.
- 정밀도 보정 패스를 한 번 추가하면 정확도가 한 차수 향상되면서 실행 시간은 < 15 %만 증가합니다.
- B200에서의 전력 측정 결과, 네이티브 FP64 복소수 커널 대비 ≈30 % 낮은 에너지당 GEMM을 기록했습니다.
Practical Implications
- HPC 및 과학 시뮬레이션: 대규모 양자 화학, 전자기 해석, CFD 코드 등 복소수 선형 대수를 활용하는 분야에서 수치 안정성을 유지하면서 벽시계 시간을 크게 단축할 수 있습니다.
- 신호 처리 및 통신: 실시간 MIMO‑OFDM, 레이더 영상, 빔포밍 파이프라인은 복소수 행렬을 빈번히 사용하므로, 제안된 방법을 통해 엣지 GPU나 AI 가속기에서 처리량을 높일 수 있습니다.
- 딥러닝 프레임워크: 복소수 신경망과 같은 신흥 모델도 INT8 기반 백엔드로 학습·추론이 가능해져 메모리 대역폭과 지연 시간을 감소시킵니다.
- 개발자 편의성: 라이브러리가 cuBLAS API를 그대로 모방하므로 기존 코드를 최소한의 리팩터링(새 라이브러리 링크 및 환경 변수 설정)만으로 빠른 경로로 전환할 수 있습니다.
Limitations & Future Work
- 하드웨어 의존성: 현재 구현은 NVIDIA B200 텐서 코어에 최적화돼 있어, 다른 GPU나 전용 AI 칩에서는 성능이 달라질 수 있으며 재튜닝이 필요합니다.
- 소형 행렬 오버헤드: 2K × 2K 이하 문제에서는 런치 및 CRT 재구성 비용이 지배적이어서 매력도가 떨어집니다.
- 정밀도 한계: CRT 방식은 이론적으로 모든 IEEE‑754 값을 복원할 수 있지만, 실제 오류는 선택된 기반에 의해 제한됩니다. 동적 범위가 극단적인 경우 잔여 수가 늘어나 속도 향상이 감소합니다.
- 향후 방향: 혼합 정밀도 워크플로(FP16‑complex) 확장, 워크로드별 자동 CRT 파라미터 튜닝, cuBLAS·oneAPI BLAS와 같은 주류 라이브러리 통합 등을 계획하고 있습니다.
핵심 요약: 저렴한 INT8 텐서 코어를 고정밀 복소수 행렬‑곱 엔진으로 전환함으로써, 대규모 복소수 선형 대수가 작업 부하를 지배하는 다양한 응용 분야에 실용적이고 드롭‑인 형태의 성능 향상을 제공한다는 점이 이 연구의 가장 큰 장점입니다.
Authors
- Yuki Uchino
- Qianxiang Ma
- Toshiyuki Imamura
- Katsuhisa Ozaki
- Patrick Lars Gutsche
Paper Information
- arXiv ID: 2512.08321v1
- Categories: cs.DC
- Published: December 9, 2025
- PDF: Download PDF