도쿄대·국립환경연구소 연구진, Claude Code로 NICAM 선택 구성을 C++/Kokkos로 이식
도쿄대와 국립환경연구소 연구진은 Claude Code를 활용해 NICAM의 선택된 생산 구성을 Fortran에서 C++/Kokkos로 이식한 프리프린트를 공개했습니다. 원본과 이식판 각각 100개 시뮬레이션의 앙상블 비교에서 통계적 정합성을 보고했으며, GH200에서 수평 격자 약 56km·연직 78층 조건으로 120스텝을 계산했을 때 기존판은 81초, 이식판은 47.3초를 기록했습니다.

도쿄대 정보기반센터의 Xuanzhengbo Ren·Takashi Shimokawabe와 국립환경연구소의 Hisashi Yashiro는 2026년 10월 30일 arXiv에 NICAM 이식 연구 프리프린트를 공개했습니다. 연구진은 AI 코딩 에이전트 Claude Code를 활용해 대기 모델 NICAM의 선택된 생산 구성을 Fortran에서 C++/Kokkos로 옮겼습니다. 에이전트가 구현과 테스트를 진행하고, 연구진은 이전 범위와 계획을 정한 뒤 단계별 결과를 검토했습니다.
NICAM은 지구 대기의 움직임을 시뮬레이션하는 모델로, 20년 넘게 개발돼 왔습니다. 기존 코드는 Fortran으로 작성됐으며 GPU 가속에 OpenACC를 사용했습니다. 연구진은 약 14만 줄의 Fortran 코드를 분석·이식해 약 3만5000줄의 C++/Kokkos 코드를 만들었습니다. 범위는 연구에서 선택한 생산 구성에 쓰이는 동역학 코어와 7개 물리 패키지입니다.
Kokkos는 병렬 실행과 메모리 공간·다차원 데이터 배치를 다루는 C++ 추상화를 제공하며, CUDA와 HIP 백엔드로 NVIDIA·AMD GPU를 겨냥합니다. 이식 과정에서는 언어 변환과 함께 자료구조와 병렬 실행 방식을 새 환경에 맞추고 기존 수치 동작을 보존하는 작업이 필요했습니다.
에이전트 구현과 연구진 검토를 단계별로 결합
연구진은 Claude Code에서 주로 Fable 5 모델을 사용했습니다. 먼저 사람이 이전 목표와 환경의 제약을 제시하면 에이전트가 Fortran 코드를 살펴 단계별 계획을 제안했습니다. 연구진이 계획과 구조적 선택을 승인한 뒤 모듈이나 물리 패키지 단위로 작업을 진행했습니다.
각 단계에서 에이전트는 원본 Fortran 모델이 만든 입력 자료를 새 코드에 넣고 출력값을 기준 자료와 비교했습니다. 이 검사를 통과하면 이전 단계에서 만든 테스트도 다시 실행해 기존 기능이 유지되는지 확인했습니다. 연구진은 테스트 결과와 소스 코드 구성, 루틴 호출 순서를 검토하고 30스텝 또는 60스텝의 짧은 모델 실행으로 새 구성요소가 원본과 함께 작동하는지도 살폈습니다. 문제가 발견되면 수정과 테스트를 반복한 뒤 다음 단계로 넘어갔습니다.
개별 기능 테스트가 통과한 뒤 기능들을 함께 실행하는 과정에서 지표면 온도 초기화 처리가 빠진 문제가 발견되기도 했습니다. 연구진은 이 사례를 통해 코드 검토와 기능을 연결한 실행으로 오류를 찾아냈다고 설명했습니다.
완성된 코드의 수치 동작은 별도의 앙상블 시험으로 살폈습니다. 원본과 이식판에서 각각 초기 기온에 작은 변화를 준 100개 시뮬레이션을 실행했고, 각 실행은 모델상 10일을 계산했습니다. 에너지와 질량, 기온 등을 포함한 59개 평가량에서 두 구현의 평균과 변동을 비교했습니다. 연구진은 이 조건에서 이식판이 원본과 통계적으로 정합성을 보였다고 보고했습니다.
실행 시간은 NVIDIA GH200에서 단일 가속기로 수평 격자 간격 약 56km, 연직 78층 조건의 120스텝을 계산해 비교했습니다. 입출력 시간은 제외했습니다. 기존 Fortran/OpenACC판은 81초, C++/Kokkos 이식판은 47.3초가 걸려 이 실행에서 이식판의 속도는 1.71배였습니다. AMD MI300A에서 이식판은 52.6초를 기록했습니다. 논문이 제시한 1.54배의 기준은 GH200에서 실행한 기존 Fortran판이며, 비교는 MI300A 이식판과 GH200 기존판 사이에서 이뤄졌습니다.
연구진은 진행을 늦춘 요인으로 사람의 검토와 Claude Code 구독의 5시간 단위 이용 상한을 꼽았습니다. 코드 생성 속도에 맞춰 수치 계산의 논리와 기능 간 연결을 검토하는 데 시간이 걸렸고, 이용 상한에 이르면 작업이 중단됐다고 설명했습니다. AI와 함께 이식·검증 등을 기록한 기간은 23업무일이었으며, 사람의 총 작업 시간과 AI 없이 진행한 검토·계산 일수는 별도로 집계되지 않았습니다. 논문은 앞으로 이식할 NICAM 구성요소와 시험 입력 자료의 범위를 넓힐 계획이라고 밝혔습니다.