Vengineerの妄想

人生を妄想しています。

d-Matrix : Corsair C8 で LLM Inference

はじめに

下記のツイートで、d-Matrix の Corsair C8 なるものを知りました。説明のために引用します。

d-Matrix Corsair C8

サイトにアクセスしたら、下記のようなボードのイメージ図が載っていました(説明のために引用します)

PCIe x16 Board 上に、2個のパッケージ。1個のパッケージには 4つのchiplet、各 chiplet には LPDDR5 x 2 (8GB x 2 = 16GB) が接続しています。

各chiplet には、256 DMC cores 、8個の chiplets で 2048 DMC cores。2400 - 9600 TFLOPS

複数枚の利用も可能のようです。説明のために引用します。

おわりに

ホストとの接続って、どうするんでしょうかね。PCIe Gen5 ということですが。なんか、Chiplet間も PCIe Gen5 で接続しているような感じになっていますね。

1TB/s chip-to-chip bandwidth となっています。PCIe Gen5 x16 だと片側 64GB/s です。上記の図だと、2 chiplet 間で接続しています。64GB/s x 2 x 5 = 512GB/s

NVIDIA : TensorRT-LLM

はじめに

NVIDIA -san

推論用のTensorRTに、LLM専用のパッケージをリリースしました。

github.com

サポートデバイス

上記のgithub.comのREADME.mdによると、サポートデバイスは、

  • H100
  • L40S
  • A100/A30
  • V100 (experimental)

で、基本的にはお高いGPUのみです。

Precisionについては、

  • FP32
  • FP16
  • BF16 (Volta, Turingは除く)
  • FP8 (Volta, Turing, Amperaは除く)
  • INT8
  • INT4

をサポートしています。

あれ、Turing も入っていますね。。。

既に色々なモデルも用意されています。

Performance

github.com

H100/A100 での性能が載っています。

Windows もサポート

Windows もサポートしているようです。CUDA 12.2 Toolkit を使うようです。そして、Microsoft MPI も使うようです。

Open GPU

こちらが対応版です。

github.com

おわりに

NVIDIA -san も 推論用LLM対応をしてきましたね。

関連記事

pc.watch.impress.co.jp

Google、Ware OS で RISC-V をサポート!

はじめに

下記のQualcommからのプレスによると、Qualcommのwear platformに RISC-Vコアを使用し、GoogleのWear OSでそのRISC-Vコアをサポートするということのようです。

www.qualcomm.com

Google Wear OS

wearos.google.com

Wikipedia によると、

  • Android Wear 2.0 => Wear OS by Google 1.0 で名前が変更。現在の最新バージョンは、2021年7月発表のAndroid 11ベースの Wear OS by Google 3.0

Developers 用のサイトは、こちら。Wear OS 4 が Pixel Watch 2 で提供されている。

おわりに

Wifi Chipなどでは既にRISC-Vコアを使われていますが、Androidベースの Wear OS by Google でも RISC-Vコアがサポートされるんですね。いきなりAndroidではなく、Wear OSで準備運動な感じですかね。

AWS TrainiumとInferentia2は同じPackage?

はじめに

AWSのTrainiumとInferentia2については、ほぼ同じということをこのブログでも下記のように紹介しました。

vengineer.hatenablog.com

今回、公開された Trainium と Inferentia2 の Board の写真から 2つのパッケージ(Dieの型番が同じ)は同じでBoardが違うということを知ることができました。

この投稿

下記の一連の投稿に、TrainiumとInferentia2のBoardの写真が掲載されました。

以下の写真(図)は、上記の投稿内のものを説明のために引用します。

Inferentia2

PCIe Board ではありません。カードエッジが2組です。下記にカードエッジの部分の拡大です。表面に x8 の配線が3組、裏面からカードエッジにx8の配線が来ています。Inferentia2は、NeuronLink-v2が2組載っています。

1つのノードにこの基板が12枚刺さっています。

Board 間は NeuroLink v2 で接続しています。

カードエッジからは、x8 + x8 + x8 + x8 が出ています。ホストとの接続に x8 を使っているとすると、各ボードには x8 + x4 = x12 で接続しています。96GiB/sの帯域があるようです。x12 x 32Gbps x 双方向とすると、96GiB/s になります。32Gbps は、PCIe Gen5 と同じです。

Trainium

両サイドに x16、下に x8 + x8 + x8 が出ています。

ボードのサイズ感です。NVIDIA H100 と Intel Habana Gaudi2 より長手方向に長いです。

裏面にはコネクタが3つです。

Trainium x 8個のBoardです。このBoardを2つで最大16個のTrainiumが2D Torus(右の図)で接続するようです。右の図でTrainium間の配線の色が黄色と黒色になっています。左の基板の縦長のコネクタには x8 + x 8 + x8 、横長のコネクタは x16 の線が来ています。となると、黄色の上下は x16 で接続し、黒色の左右は x8 で接続しているのでは?と妄想しています。

ホストとの接続は縦長の x8 (PCIe Gen5 x8) で接続しているのだと思います。

おわりに

AWSのTrainiumとInferentia2、似ているのということだったのですが、パッケージまで同じだったんですね。。。

  • Google : TPU v5e / v4
  • AWS : Trainium & Inferentia2

と、次に続くのはどこでしょうか?

Google Pixel に搭載されているSoC(Tensor : G1, G2, G3)用のPMIC

はじめに

Google Pixel に搭載されているSoC(Tensor : G1, G2, G3)用のPMIC を調べてみたら、

で、それぞれ違うもののようです。

PMIC の内部は、謎なんだけど、ちょっとだけ分かった気がする!

G3 の PMIC を見てみました

regulators のところに、m_buckX_reg: BUCKXM なるエントリがたくさんあります。

     regulators {
            m_buck1_reg: BUCK1M {
                regulator-name = "S2MPG14_BUCK1";
                regulator-min-microvolt = <450000>;
                regulator-max-microvolt = <1300000>;
                regulator-always-on;
                regulator-initial-mode = <SEC_OPMODE_ON>;
                channel-mux-selection = <0x01>;
                schematic-name = "S1M_VDD_MIF";
                subsys-name = "MIF";
                buck_rail;
                channel-en-byte-offset = <0>;
                channel-en-index = <0x01>;
            };

subsys-name のところがどこの regulator であるかを示しています。

  • MIF
  • CPU (BIG)
  • CPU (MID)
  • CPU (LITTLE)
  • INT
  • LDO
  • TPU
  • LDO
  • CPU (LITTLE)

m_ldoX_reg; LDOXM なるものも

  • ALIVE
  • ALIVE
  • AOC
  • TS
  • IO
  • Display
  • USB
  • USB
  • AOC
  • UNUSED
  • TPU
  • Display
  • UNUSED
  • PCIE
  • CPU (BIG)
  • PCIE
  • USB
  • GSC
  • Display
  • UNUSED . TS

と25個あります。

S2MPG15_BUCKXなるものもあります。

PMIC のデバイスドライバ

ここに、G1とG3のPMICのデバイスドライバがあります。

G2のデバイスドライバは、ここにあります。I2C(SDA/SCL) で繋がっていますね。

おわりに

スマホ用のSoCに対応したPMICって、中身が謎だったのですが、今回の調査でデバイスドライバを調べれば、ちょっとは分かりそうです。。。

RenesaのDA9061というPMICには、LDOだけでなく、BUCK、GPIOもついていますね。

なども付いていますね。

書籍 : なぜ男女の賃金に格差があるのか

はじめに

2023年10月9日に、今年のノーベル経済学の発表があったようで、クラウディア・ゴールディン san の 著書、

  • なぜ男女の賃金に格差があるのか

を購入しました。アマゾンでKindle版を購入しましたが、購入時点、紙の本は売り切れになっていましたし、まだ、売り切れ状態です。

書籍としては、これと、ハーバードビジネスレビューの下記の論文のみでした。

10日ぐらいで読みました。。。

100年間の歴史の振り返り

本書は100年間の歴史の振り返りで、女性の「キャリア」と「家庭」をどう両立(両立できていないとか、できているとか)を調べたものです。

この本が経済学?

というより、社会学っぽいいのかな?と思いながら読みました。

20年、30年後の日本?

米国社会で起こっていることは日本でも20年、30年経つと同じような感じになると思っています。

映画「クレイマー・クレイマー (1979(」にて離婚というものを知ったのですが、30年後の2009年の日本でも離婚は特別なことではなくなりました。

日本の女性の「キャリア」と「家庭」に関しても、あたしが結婚した平成初期では子供ができると「家庭」になりましたが、平成から令和になり、結婚して子供ができても、共働きはごく普通になっています。また、結婚する年齢も上がっています。

おわりに

この本を読むことで、これからの日本の女性の「キャリア」と「家庭」がどのようになっているのか?のヒントがあるかもしれません。ね。

Google Tensor (G1/G2/G3) の PCIe Controller は、Synopsys ベース?

はじめに

Google Tensor (G1/G2/G3) の PCIe Controller のデバイスドライバーを調べてみました。

Google Tensor (G1/G2/G3) の PCIe Controller は、Samsung製かな?と思いましたが、Kconfig を見たら、PCIE_DW_HOST というキーワードがあるので、どうも Synopsys の PCIe Controller IP ペースっぽい。

config PCI_EXYNOS_GS
    tristate "Exynos GS PCIe controller"
    depends on PCI
    depends on OF
    depends on PCI_MSI_IRQ_DOMAIN
    select PCIEPORTBUS
    select PCIE_DW_HOST
    help
      Enables support for the PCIe controller in the Samsung Exynos SoCs
      for GS101 to work in host mode. The PCI controller is based on the
      DesignWare hardware and therefore the driver re-uses the DesignWare
      core functions to implement the driver.

The PCI controller is based on the DesignWare hardware and therefore the driver re-uses the DesignWare core functions to implement the driver.

とあります。

PCIE_DW_HOST

PCIE_DW_HOST は、LinuxデバイスドライバMakefileを見ると、

obj-$(CONFIG_PCIE_DW) += pcie-designware.o
obj-$(CONFIG_PCIE_DW_HOST) += pcie-designware-host.o

とあり、pcie-designware-host.c では、

/*
 * Synopsys DesignWare PCIe host controller driver
 *
 * Copyright (C) 2013 Samsung Electronics Co., Ltd.
 *     https://www.samsung.com
 *
 * Author: Jingoo Han <jg1.han@samsung.com>
 */

とありました。あ、Samsung が Synopsys DesignWave PCIe host controller driver を書いているんですね。

G1とG2は同じで、G3は新しくなった

G1, G2 は、2つの PCIE x2 lanes が載っているようです。

G3 の dtsi を覗いてみたら、

x2 lane + x1 lane のようです。

G1, G2 の reg_names は、

  • reg-names = "elbi", "phy", "sysreg", "dbi", "pcs", "config", "ia";

で、G3 の reg_names は、

  • reg-names = "elbi", "soc", "udbg", "phy", "sysreg", "dbi", "pcs", "config", "ia";

になっていて、soc, udbg のレジスタ空間が増えたので、一部のレジスタ空間のサイズが増えています。Android 14 のデバイスドライバにも、soc, udbg は追加されていますね。

Android 13 のデバイスドライバでは、soc のレジスタ空間はないですね。

おわりに

今回、Linux の Synopsys の PCIe Controller (RC) は Samsung製で、SamsungのPCIe Controller RC は Synopsys の PCIe Controller ベースということが分かりました。