# NIXL(NVIDIA Inference Xfer Library)
NVIDIA が開発した [[LLM推論]] 向けのデータ転送ライブラリ。正式名称は NVIDIA Inference Xfer Library。GitHub: https://github.com/ai-dynamo/nixl
NVIDIA Dynamo 推論基盤の構成要素として位置づけられており、[[vLLM]] などの推論フレームワークが KV Cache をノード間・ノード内で効率的に転送するために利用する。
## アーキテクチャ
NB API / SB API / バックエンドプラグインの3層で構成される。
```
推論フレームワーク(vLLM 等)
↓
North-Bound API(NB API) ← ユーザー向け高レベルインターフェース
↓
South-Bound API(SB API) ← バックエンドプラグイン向け低レベルインターフェース
↓
Backend Plugin(UCX / GDS / OBJ / MoonCake / HF3FS)
```
推論フレームワーク側は「このバッファを転送したい」という意図のみを NB API に伝えれば、NIXL がバックエンドを自動選択して最短経路で転送を実行する。フレームワーク側はバックエンドの実装詳細を意識しなくてよい。
## バックエンドプラグイン
デフォルトで5種のバックエンドプラグインを持つ:
| バックエンド | 対応メモリ種別 | 概要 |
|---|---|---|
| [[UCX]] | DRAM、VRAM | UCX ベースの汎用転送(デフォルト) |
| GDS | DRAM、VRAM、FILE | GPUDirect Storage を利用 |
| OBJ | DRAM、OBJ | S3 API 互換ストレージとの連携 |
| MoonCake | DRAM、VRAM | MoonCake との連携 |
| HF3FS | DRAM、FILE | DeepSeek の 3FS との連携 |
UCX バックエンドが最も汎用的で、DRAM・VRAM の双方に対応し GPUDirect RDMA も扱う。
## 動作フロー
1. NIXL Agent 初期化(バックエンドプラグインの設定を含む)
2. メモリー登録処理(転送に使用するバッファを NIXL に登録)
3. Agent 間のメタデータ交換(転送元・転送先の情報を共有)
4. データ転送処理(READ または WRITE 操作)
## ベンチマーク結果
[[SAKURA Internet]] の [[高火力 PHY]] チームが H100 HGX 2台(各8 GPU / 8 NIC、400 Gbps RoCEv2)で実施したベンチマークでは、NIXL + UCX を正しく構成した場合に以下を確認:
- **ノード内 GPU 間(NVLink)**: 400 GB/s 付近を達成(NVLink 4.0 の理論値と一致)
- **ノード間 GPU 間(400 Gbps NIC)**: 50 GB/s 付近で物理リンク帯域上限に律速
**結論**: KV Cache 転送のボトルネックはソフトウェア層ではなく物理リンクの帯域に収束する。
## 関連
- [[@2025__さくらのナレッジ__分散推論基盤の基礎技術]] — NIXL の構造とベンチマーク結果の詳細
- [[UCX]] — NIXL のデフォルトバックエンド
- [[LLM推論]] — NIXL が対象とするユースケース(KV Cache転送)
- [[vLLM]] — NIXL を利用する代表的な推論フレームワーク