AI-Assisted GPU Porting of a 250k Line Legacy Weather Simulation Code

개요

CReSS라는 250,000 라인 이상의 레거시 Fortran 기상 시뮬레이션 코드를 GPU로 포팅하는 워크플로우는 AI 에이전트를 활용하여 OpenMP 영역 추출, 물리적으로 의미 있는 시뮬레이션 상태 기반 덤프 커널 벤치마크 생성, OpenACC 변환 적용, 그리고 덤프된 참조 데이터와의 요소별 비교 및 애플리케이션 수준 검증을 통해 과학적 타당성을 보존하며 5.1배의 애플리케이션 수준 속도 향상을 달성했다.

주요 내용

  • 최근 대규모 언어 모델(LLM)의 발전으로 CLI 기반 AI 에이전트가 대규모 레거시 과학 애플리케이션의 GPU 포팅을 가속화하는 데 실용적인 도구가 되었다.
  • GPU 포팅은 오래된 코드베이스를 단순히 수정하는 것이 아니라, 장기간의 개발, 관측과의 비교, 도메인 연구에서의 사용을 통해 축적된 과학적 자산의 신뢰성을 보존해야 한다.
  • 본 논문은 CReSS 코드의 사례 연구를 통해 검증 중심의 AI 지원 GPU 포팅 워크플로우를 제시한다.
  • 워크플로우는 AI 에이전트를 사용하여 OpenMP 영역을 추출하고, 물리적으로 의미 있는 시뮬레이션 상태를 기반으로 덤프 기반 커널 벤치마크를 생성하며, OpenACC 변환을 적용한다.
  • 결과 검증은 덤프된 참조 데이터와의 요소별 비교 및 애플리케이션 수준 검증을 통해 이루어진다.
  • 실제 태풍 시뮬레이션 사례에서 이 워크플로우는 162개의 대상 커널에 대해 수치적으로 검증된 GPU 구현을 생성했다.
  • 특히, 부동 소수점 및 내장 함수 차이로 인한 5개의 커널에서 임계값 민감 분기 분기 및 취소 효과를 포함한 수치적 불일치를 탐지하여 애플리케이션 개발자에게 피드백을 제공했다.
  • AI 지원 GPU 포팅은 코드 생성뿐만 아니라 세션 간 컨텍스트 관리, 런타임 상태 재구성, 그리고 작은 정적 분석 누락으로부터의 비용 효율적인 복구를 포함하는 검증 중심 워크플로우 설계가 필요함을 시사한다.

시사점

AI 지원 GPU 포팅은 레거시 과학 애플리케이션의 성능 향상과 함께 과학적 신뢰성을 유지하는 데 효과적인 접근 방식이며, 검증 중심의 워크플로우 설계와 세션 컨텍스트 관리가 실용적인 성공의 핵심 요소임을 보여준다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions