Vengineerの戯言

人生は短いけど、長いです。人生を楽しみましょう!

CXL (Compute Express Link)とは?

はじめに

PCI Express がかなり前?から使われています。ざっくり、20年ぐらい。。

Wikipedia(日本語)によると、2002年にPCI-SIGで策定されたので。あっている。

  • Gen1 : 2005年にPCI-SIGが発表
  • Gen2 : 2007年にPCI-SIGが発表
  • Gen3 : 2010年にPCI-SIGが発表
  • Gen4 : 2017年にPCI-SIGが策定、公開
  • Gen5 : 2017年にPCI-SIGが発表、2019年策定
  • Gen6 : 2019年にPCI-SIGが発表、2021年策定

CXL (Compute Express Link) の Wikipedia では、

  • 1.0 : 2019年3月11日 (PCIe Gen5ベース)
  • 1.1 : 2019年6月 (PCIe Gen5 PHYベース)
  • 2.0 : 2020年11月 (PCIe Gen5 PHYベース)
  • Next : H1 2022 (PCIe 6.0 PYHベース)

PC Watch 大原さんの記事

pc.watch.impress.co.jp

  • CXL.IO : PCI Express互換 (I/Oプロトコル)
  • CLX.Cache (キャッシュコヒーレンシ)
  • CXL.Memory (メモリアクセス)

CCIXはキャッシュコヒーレンシを双方向で維持するのに対し、CXLではCPU側のキャッシュコヒーレンシしか保証しない(つまりアクセラレータのキャッシュまでは考慮しない)といった具合に、CCIXに比べると実装の負荷が軽減されるような規定になっていた。

そうなんだ。。。

  • OpenCAPI
  • CCIX
  • CXL

Sapphire RapidsはCXL.ioとCLX.cacheは実装されているが、CXL.memoryは未実装である。

え、そうなんだ。

しかもSapphire RapidsのPCIe/CXLには問題があり、少なくとも最初に出る製品はCXLが一切使えない(CXL.cacheの実装に問題があった、と聞いたが真偽のほどは不明)

ええええ。

Genoaベースの第4世代EPYCは、PCIe Gen5に加え、CXL 1.1のメモリ拡張機能

おう。。。

おわりに

PCIe Gen6 って、どうなるんだろうか。。。。

追記)、2023.02.22

CXL 3.0はこれをPCIe 6.0に引き上げ、スループットを2倍の64GT/s(x16接続では最大256GB/sのスループット)としながら、レイテンシの増加はゼロだと主張している。CXL 3.0では、レイテンシを最適化した新しい256バイトフリット形式を採用し、レイテンシを2~5ns短縮することで、従来と同じレイテンシを維持している。

  • CXL 3.0 == PCIe Gen6

texal.jp