Vengineerの戯言

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

NVIDIA NVLINK-C2Cって、2ポート?

はじめに

NVIDIA H100(Hopper)とGraceには、NVLINK-C2C というものがついていて、Grace-Hopper Superchip では、GraceとHopperの間を NVLINK-C2C で接続しています。

NVLINK-C2Cに関しては、情報がほとんど出ていませんので実態は、900GB/s (片側:450GB/s + 450GB/s) という帯域と、下記のプレスの中で書いてあるものぐあいです。

www.nvidia.com

上記のブログの中で、NVLINK-C2Cの特徴は下記のように書いてあります。

  • 帯域幅 – プロセッサとアクセラレータ間の高帯域幅でコヒーレントなデータ転送に対応しています。
  • 低遅延 – 共有データを迅速に同期させ、高頻度でアップデートするために、プロセッサとアクセルレータ間でのアトミックに対応しています。
  • 低電力と高密度 – 先進的なパッケージングにより、NVIDIA チップに PCIe Gen 5 を実装する場合と比べて、エネルギー効率が 25 倍、面積効率が 90 倍向上します。
  • 業界標準への対応 – Arm の AMBA CHI または CXL 業界標準プロトコルと組み合わせが可能で、デバイス間の相互運用を可能にします。

NVLINK-C2Cは、どうやら2ポートある

NVIDIAgithub の grace-kernel (Grace用Linux Kernel) の下記の部分に、NVLINK-C2C0 と NVLINK-C2C1 なるものがあることを知りました。

github.com

既に、Linuxの総本山にも入っています。

github.com

上記のドキュメントでは、

  • NVLink-C2C0 PMU (The NVLink-C2C0 PMU monitors incoming traffic from a GPU/CPU connected with NVLink-C2C (Chip-2-Chip) interconnect.)

    • NVIDIA Grace Hopper Superchip: Hopper GPU is connected with Grace SoC.
      • In this config, the PMU captures GPU ATS translated or EGM traffic from the GPU.
    • NVIDIA Grace CPU Superchip: two Grace CPU SoCs are connected.
      • In this config, the PMU captures read and relaxed ordered (RO) writes from PCIE device of the remote SoC.
  • NVLink-C2C1 PMU (The NVLink-C2C1 PMU monitors incoming traffic from a GPU connected with NVLink-C2C (Chip-2-Chip) interconnect.)

とあります。

どうやら、NVLINK-C2C0 は

  • Grace-Hopper Superchip
  • Grace CPU Superchip

で、NVLINK-C2C1 は、

  • Grace-Hopper Superchip

に使われているっぽいです。

おわりに

今回、NVIDIA NVLINK-C2C は、2ポートあることがわかりました。

Grace CPU Superchipの場合は、同じ Die を対向で接続するので、2つの NVLINK-C2C を接続することになり、

が繋がっていることになり、PMUがそれぞれのNVLINK-C2C0についているということですかね。