【シーエックスエル】
CXL(Compute Express Link) とは?
最終更新:
💡 CPUと対応デバイスを、メモリのルールでつなぐ
ホストのCPUと対応するアクセラレータやメモリデバイスをつなぐ、オープンな接続規格。PCIeの物理層を基に、キャッシュの一貫性やメモリアクセスを扱う。利用できる機能は規格の世代や機器の対応による。
📌 このページのポイント
- PCIeの物理層を基に、ホストと対応デバイスを接続する
- CXL.io、CXL.cache、CXL.memで異なる役割を扱う
- 対応する構成でメモリ拡張や一貫性のあるアクセスを実現する
- スイッチ・プーリング・共有の範囲は世代と実装による
CXLは普通のPCIe接続と同じ?
三つのプロトコルは何をするの?
CXL.ioはデバイスの検出や設定などの入出力、CXL.cacheはデバイスからホスト側メモリを一貫性を保って扱うための仕組み、CXL.memはホストからデバイス側メモリへアクセスする仕組みだよ。デバイスの種類によって、使う組み合わせは異なるんだ。
メモリ拡張にはどう使うの?
例えば対応するホストにCXLメモリデバイスを接続して、利用できるメモリを増やす構成があるよ。ただし何でも自動的に速くなるわけではない。アクセスの遅延や帯域、ソフトウェアの使い方、機器の実装も関係するんだ。
プーリングと共有は同じこと?
プーリングは、メモリ資源を必要に応じて複数のホストへ割り当てたり戻したりする考え方だよ。同じ領域を複数ホストが同時に、一貫性を保って使う共有とは区別する。CXL 2.0ではスイッチやプーリング、3.0では共有やファブリック機能が拡張されたんだ。
GPUのメモリ不足も全部解決する?
どのGPUからも外付けメモリを自由に使える、という保証ではないよ。対応するデバイスの種類、規格の世代、ホストや構成によって機能が違う。メモリ容量を増やすことと、実際の処理が速くなることも区別して確認するんだ。
まとめ:ざっくりこれだけ覚えればOK!
「CXL」って出てきたら「CPUと対応デバイスの間で、メモリや一貫性を扱う接続規格」と思えばだいたいOK!
📖 おまけ:英語の意味
「Compute Express Link」 = コンピュート・エクスプレス・リンク
💬 計算を表すCompute、Express、接続を表すLinkを組み合わせた規格名だよ。対応するホストとデバイスの接続で使うんだ。