日本の研究チームが、AIエージェントを使って25万行を超える気象シミュレーションの基幹コード「CReSS」をGPU向けに移植する研究を発表しました。CLIベースのAIエージェントに並列化コードの変換作業を任せつつ、数値の正しさを1要素ずつ検証する「検証中心」の設計を取り入れたのが特徴です。162個のカーネル(GPU上で実行される計算処理の最小単位のプログラム)を検証済みの状態で移植し、アプリケーション全体で5.1倍の高速化を達成しました。
背景と文脈
気象予測や台風進路の解析に使われるシミュレーションコードは、数十年にわたる開発と観測データとの突き合わせを経て信頼性を積み上げてきた、いわば科学的な資産です。CReSSは名古屋大学を中心に開発・利用されてきたFortran製の気象シミュレーションコードで、コード規模は25万行を超えます。
こうしたレガシーコードの多くはCPU上での並列処理を想定したOpenMP(CPU上で計算を複数のコアに分担させて並列処理するための業界標準規格)で書かれています。近年の科学技術計算はGPUを使うことで大幅な高速化が見込めますが、GPU向けの並列化規格であるOpenACC(GPU上で計算を並列処理するための業界標準規格。CPU向けのOpenMPのGPU版に近い位置づけ)への書き換えは人手に頼ると膨大な工数がかかります。しかも書き換えの過程でわずかな計算順序の違いが生じると、シミュレーション結果そのものがずれてしまう恐れがあり、単にコードが動けばよいという話では済みません。
この課題に対し、生成AIにコード変換を任せる試みはこれまでも各所で行われてきました。ただし科学技術計算の分野では「動くコードを書けるか」より「元の計算結果と一致するか」が問われます。AIによる変換をそのまま実用に持ち込むには、検証の仕組みが欠かせません。
技術/ビジネス面

研究チームはAI-Assisted GPU Porting of a 250k Line Legacy Weather Simulation Codeという論文で、CLIベースのAIエージェントを使ったGPU移植のワークフローを示しました。著者はTetsuya Hoshino氏、Masaya Kato氏、Kazuhisa Tsuboki氏らで、2026年8月13日に投稿されています。
手順は、まずOpenMPで並列化されている領域をコードから抽出するところから始まります。次に、実際の台風シミュレーションなど物理的に意味のあるシミュレーション状態を使ってカーネル単位のベンチマークを生成し、そのカーネルに対してAIエージェントがOpenACCへの変換を適用します。ここまでは既存の自動変換ツールに近い発想ですが、この研究の核心はその先にあります。
変換後のコードを、要素単位で参照データと突き合わせて数値が一致するかを確認し、さらにアプリケーション全体を動かすレベルのテストでも検証します。この「検証中心」な設計により、162個の対象カーネルすべてで数値的な妥当性を確認したうえでGPU実装を完成させました。結果としてアプリケーション全体では5.1倍の高速化を、実用的な開発コスト(工数)の範囲で達成しています。
興味深いのは、5つのカーネルで浮動小数点演算の精度や組み込み関数の実装差に起因する数値的な差異が見つかった点です。AIが生成したコードが一見正しく動いていても、CPUとGPUで計算結果が微妙にずれるケースがあります。これを検証プロセスが検出し、対処につなげました。単なるコード変換ではなく、こうした細かなズレを拾い上げる仕組みこそが実用化の鍵だったといえます。
これからどうなるか
この成果は気象分野に限らず、流体解析や構造計算など長年運用されてきたFortran製の科学技術計算コードを抱える研究機関・企業にとって参考になります。GPU移植を検討する際、AIエージェントに変換作業の下地を任せつつ、検証をどう自動化するかという設計指針が具体的に示された意味は大きいでしょう。
一方で論文は、セッションをまたいだ文脈管理や実行時の状態再構築、静的解析の見落としから復旧するコストの管理といった実務上の課題も挙げています。手元で大規模なレガシーコードのGPU化やリファクタリングにAIエージェントを使う場合も、生成結果をどう自動検証のパイプラインに組み込むかが、作業時間短縮の成否を分けるポイントになりそうです。
まとめ
25万行超のレガシー気象コードCReSSを、AIエージェントとOpenACC変換、そして検証中心の設計で移植し、162カーネルの数値的妥当性を確認したうえで5.1倍の高速化を達成した研究を紹介しました。AIによるコード生成と人手による検証の役割分担が、科学技術計算のモダナイズを後押ししそうです。
