UCX(ユーシーエックス)とは

UCXとは、高性能計算やAI基盤で、ネットワーク、共有メモリ、GPUをまたぐ通信を共通の形で扱うオープンソースの通信フレームワークです。AI開発者が直接意識しない場面でも、基盤の裏側で通信を支える部品として使われます。

通信の共通部品として働く

OpenUCX公式サイトは、UCXを低オーバーヘッドで本番利用向けの通信フレームワークと説明しています。InfiniBand、共有メモリ、GPUなど、複数の通信経路を扱えることが特徴です。AI基盤では、アプリケーションとハードウェアの間に入る見えにくい層として理解すると分かりやすくなります。

NCCLやMPIとの関係

NCCLがGPU同士の集団通信を扱うライブラリだとすると、UCXはより下の通信経路を抽象化する部品として使われることがあります。MPIなど高性能計算の世界でも関係が深く、AIだけの専用品ではありません。UCXを導入するかどうかは、使うクラウドや計算基盤が何を採用しているかに左右される点に注意が必要です。

経営判断での見どころ

マネージドサービスを使う場合、UCXを直接設定しないことも少なくありません。一方でオンプレミスGPUクラスタやHPC寄りのAI基盤では、UCXの対応状況、ドライバ、ネットワーク、GPUDirect RDMAとの相性が性能や保守に影響します。提案書では、使われている通信スタックを確認するとよいでしょう。

Topic名前のXは一つに閉じない通信を示す

UCXはUnified Communication Xとして紹介されます。特定の一種類の通信だけでなく、ネットワーク、共有メモリ、GPUなど複数の経路をまとめて扱う思想が名前にも表れています。

UCXに関するよくある質問

クラウドだけなら知らなくてよいですか?
通常運用では意識しないこともあります。ただし性能問題や構成比較では、基盤側の通信方式として名前が出る場合があります。
障害対応でUCXが出てくるのはなぜですか?
ネットワーク、共有メモリ、GPU通信の境界に関わるため、ドライバや通信設定の不整合でログに現れることがあります。
導入担当は誰が見るべきですか?
AI担当だけでなく、インフラ担当、ネットワーク担当、ベンダーの技術担当が一緒に確認する項目です。

あわせて読みたい記事