AIアクセラレータ「MN-Core」でシェーダーを高速実行する挑戦
- •PFNが開発するAIアクセラレータMN-Core 2上でGLSLコードを動作させるトランスパイラを開発
- •PyTorchを通じたモデル変換と最適化により、Full HD環境で71.5fpsの描画性能を見込む
- •GPUに特化した超越関数などの処理をソフトウェア的に代替・最適化し、高い並列演算性能をCG処理へ転用
Preferred Networks(PFN)が開発する深層学習アクセラレータ「MN-Core 2」は、その圧倒的な並列演算能力により、深層学習以外の領域への応用が期待されています。本記事は、2025年度の夏季インターンシップにおいて、グラフィックス処理で広く用いられるシェーダー言語「GLSL」のコードを、MN-Core上で効率的に動作させるための技術的な挑戦を報告したものです。
通常、深層学習モデルはGPU上で実行されますが、MN-CoreのようなAIアクセラレータも同様に高度な並列処理を得意としています。本プロジェクトの核心は、GLSLで記述されたグラフィックス処理を、MN-Coreが理解可能なPyTorchモデルへと自動変換するトランスパイラの開発にあります。単にコードを変換するだけでなく、MN-Coreの階層構造を意識したメモリ管理や、演算の並列化最適化が不可欠でした。
開発の過程では、いくつかの大きな壁に直面しました。例えば、GLSL特有の「ブロードキャスト」機能の再現や、if文による条件分岐の制御、行列演算と要素積の厳密な区別といった課題です。これらを解決するために、計算グラフ上の不要なメモリ退避(Spill)を排除する最適化や、演算の粒度を細かく調整する手法が導入されました。特に、メモリレイアウトの切り替えによるボトルネックを解消するため、テンソルの表現形式を見直すといったハードウェアに寄り添った設計が功を奏しました。
また、MN-CoreにはGPUにあるような高速な超越関数演算ユニット(SFU)が存在しないため、三角関数等の近似計算をソフトウェア的に最適化する工夫も施されました。これらの積み重ねにより、最終的にはFull HD解像度で実用的なフレームレートを達成する見込みが立ちました。AIアクセラレータをグラフィックス処理へ転用するという本アプローチは、AIチップの新たな可能性を切り拓く極めて興味深い試みです。
このプロジェクトが証明したのは、AI計算向けに最適化されたハードウェアであっても、抽象化層を適切に構築することで他の並列計算処理に広く応用できるという事実です。深層学習以外の計算需要に対して、既存のAIインフラをどのように活用していくか、その将来的なヒントが詰まった事例といえるでしょう。AIとグラフィックスの境界を越えるエンジニアリングの面白さを、学生の皆さんにぜひ感じ取ってもらいたい成果です。