何が起きたか

arXivに公開された論文(CUDA MPC: A GPU-Native Solver for Model Predictive Control)で、GPUネイティブなMPCソルバー「CUDA MPC」が提案された。従来のGPU実装はデバイスを線形代数アクセラレータとして使うだけだったが、CUDA MPCは最適化アルゴリズム、実行モデル、メモリ構造をCUDAハードウェア向けに共同設計。並列ホライズンADMM分割と融合CUDAカーネルを組み合わせ、反復解法全体をデバイス上で実行する。中間変数は低遅延のオンチップ共有メモリに保持し、局所的なアトミックフラグプロトコルで隣接ホライズンブロックのみ同期するため、ホスト介入やカーネルディスパッチのオーバーヘッド、グローバルメモリトラフィックを最小化する。6つの非線形ロボティクスベンチマークで、CPUソルバーより1〜2桁長いホライズンをリアルタイムで処理。衝突回避駐車問題では100秒のルックアヘッドを0.1秒のサンプリング間隔で解決。集中型10エージェント群ロボットでは、acadosとCasADiが実行可能解を返さず1回の求解に3.5秒・4.5秒かかる中、唯一リアルタイム実行と衝突回避を両立した。また、同じADMM分割のテンソルフレームワーク実装と比較して、融合カーネルは最大965倍高速だった。

Key Facts

CUDA MPCは、MPCのオンライン最適化をGPU上で完結させるGPUネイティブフレームワークであり、最適化アルゴリズム、実行モデル、メモリ構造をCUDAハードウェア向けに共同設計している。[0]
CUDA MPCは、並列ホライズンADMM分割と融合CUDAカーネルを組み合わせ、反復解法全体をデバイス上で実行する。[0]
中間最適化変数は低遅延のオンチップ共有メモリに保持され、局所的なアトミックフラグプロトコルで隣接ホライズンブロックのみ同期する。[0]
6つの非線形ロボティクスベンチマークで、CPUソルバーより1〜2桁長いホライズンをリアルタイムで処理した。[0]
衝突回避駐車問題では、100秒のルックアヘッドを0.1秒のサンプリング間隔で解決した。[0]
集中型10エージェント群ロボットでは、acadosとCasADiが実行可能解を返さず1回の求解に3.5秒・4.5秒かかる中、CUDA MPCは唯一リアルタイム実行と衝突回避を両立した。[0]
同じADMM分割のテンソルフレームワーク実装と比較して、融合カーネルは最大965倍高速だった。[0]

なぜ重要か

MPCは制約を考慮した制御を提供するが、オンライン最適化の計算負荷が高く、高速ダイナミクスや高次元モデル、長いホライズンを持つシステムへの適用が制限されてきた。CUDA MPCはGPUの計算資源を最大限活用し、ホストとデバイス間のデータ転送やカーネル起動のオーバーヘッドを排除することで、従来は不可能だった長大ホライズンのリアルタイム制御を可能にする。これは、自動運転やドローン群、ロボットアームなど、高速で高次元な制御を必要とする分野に大きな影響を与える可能性がある。特に、複数エージェントの協調制御では、既存ソルバーが解けない問題を実時間で解ける点が画期的であり、実世界での応用範囲を広げると期待される。