TL;DR
- MoA를 범용 중간 표현(IR)으로 사용해 여러 언어를 목표 기기와 독립적인 DNF로 한 번 변환하고, 기기별로 ONF 재작성 패스만 적용하는 컴파일러 아키텍처를 제시함.
- O(nd) 복잡도의 최적 DNF 변환은 n=32768에서 O(n²) 대비 512배이며, 인간·기계·에너지 비용을 절감함.
- Python, PyTorch, JAX, Fortran, C, Julia를 입력으로 받아 C+OpenMP, Fortran+OpenACC, OpenMPI, LLVM IR을 출력하는 구조임.
- A100, MI100, H100, V100, Max1550을 포함한 5개 기기 검증 결과를 보고하며, 다수의 오차·성능 지표를 제시함.
- 1988년 박사 논문에서 2026년 논문 I–V 및 5개 기기 검증까지 38년에 걸친 작업임.
범용 중간 언어로서의 MoA
- 단일 범용 IR을 사용해 소스 코드를 DNF로 한 번 변환하며, DNF는 목표 기기와 무관하게 최적화됨.
- 목표별 변환은 ONF 재작성 패스만 수행하는 방식으로, 이식성과 형식적 정확성을 내세움.
- 여러 프로그래밍 언어를 MoA AST → DNF → γ Eq3 → ONF로 처리함.
- 형상 리프팅(shape lifting)은 π#(ρ⊘π)로 표현하며, T≈αF+βM 및 reached(d)를 제시함.
- Eq22에 따라 인간·기계·에너지 비용을 약 100k 절감한다고 설명함.
아키텍처와 실행 모델
- 입력 언어는 Python, PyTorch, JAX, Fortran, C, Julia이며, 중심부는 ψ, Ω, γ, Theorem 3.1과 고정된 DNF 및 ONF 재작성으로 구성됨.
- 출력 대상은 C+OpenMP, Fortran+OpenACC, OpenMPI, LLVM IR임.
- 파이프라인은 파란색 최적 DNF, 주황색 ONF 순차 루프(i''∈k∈j∈〈d_k〉), 녹색 하드웨어(numa_nodes, cores, gpu_warps)로 구분됨.
- 루프를 실행 패러다임에 대응시킴: i''→gang/rank, k→worker/core, j→vector lane 64.
- 결정론적 실행 옵션은 -O2 -fno-fast-math -DOMP_DETERMINISTIC임.
검증 결과
- 전체 검증 결과는 ALL PASS임.
- 논문 1: 표 1·2 재현 결과 ||err||=8.3e-5이며, 실행 파일은
moa_compiler/Paper1-Exact-Reproduce.py임. - 논문 2: G_A, G_S, G_sc 스칼라 결과 ||dQ||=6.59e-17이며, 실행 파일은
moa_compiler/Paper2-Backward.py임. - 논문 3: 288B, ||err||=0, 복잡도 O(dk+dv)인 KV 캐시 결과이며, 실행 파일은
moa_compiler/Paper3-Decode.py임. - 논문 4–5: 5개 기기 A100, MI100, H100, V100, Max1550에서 Rd=0.028, Xd=0%, 99.88% busy를 보고함.
- 추가 결과로 원자 연산 2.00x→2.5x, NUMA 535x 대 동일 DNF·상이한 γ에서 <3x, 정체(stall) 일치율 3.17x/3.35x를 제시함.
실행 및 논문
- 실행 예시는
python moa_compiler/paper1_exact_reproduce.py etc.임. - 자료는 moa_complete_final.pdf(9쪽 컬러 설명 자료), moa_universal_il.pdf, Moa-Paper1/2/3-Writeup.pdf임.
- 라이선스는 MIT, 표기 연도는 2026, 이름은 Lenore Mullin임.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요