Vengineerの戯言

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

Cerebras CS-2のWaferが公開される

はじめに

Cerebras Systemsの公式Twitterに、CS-2のWaferの写真がアップされました。

WSEの周りにも回路があるね。

Tweetが消されちゃうと無くなってしますので、記録のために、写真を引用します。

真ん中の四角い部分が WSE 。4辺の使っていないところにもなんか回路が載っていますね。

この回路。Cerebrasで使うのでしょうか?そうなると、この部分のマスクを作るにもそれなりのお金がかかりますね。。

おわりに

こういうのも公開しちゃうんですね。。。どうしてだろうか?

書籍 : 頭のよさとは何か

はじめに

アマゾンのほしいものリストの中で半額になっていたのでぽちりました。Kindle版です。

頭のよさとは何か

中野信子 san と 和田秀樹 san の対談

お二人とも東京大学卒なので、「頭のよさ」とか言われると、なんだよ。お前らが言うなよ。。。と思うところですが、そこってどこなの?という興味からほしいものリストに入れていました。

また、周りに東京大学京都大学大阪大学東北大学北海道大学九州大学東京工業大学筑波大学北海道大学。。。。卒(いやいや、修士)のみなさんが多い(多すぎる)ので、何が?「頭のよさとは何か」なのかを。

あたしの大学受験は、塾や予備校などにはいかず、ひたすら、教科書と参考書のみで勉学を、いや反復学習していました。。。ですが、上記の大学にエントリーできる点数は取れなかったです。

とは言え、大学を卒業後、働き始めると、勉学の学力だけが頭のよさではないということはわかってくるんですがね。。。

ということで、紙の本は 1,650円でしたが、半額の 825円でぽちれます。今もそうです。。。。

おわりに

和田秀樹 san は受験のノウハウ的な人と思っていましたが、最近、Youtube の本抄訳チャネルで、年を取った時に関する本の中で色々な情報を得られたので、今回のぽちりのきっかけとなりました。。。

Graphcore IPU-M2000 のブロック図

はじめに

Graphcore IPU M2000 のブロック図が公開されていたので、記録のためにブログに残します

IPU M2000

BMC User Guide なるところに下記のようなブロック図がありましたので、説明のために引用します。

IPU M2000には、4個の IPU が搭載されています。2個ペアになっていて、その2個の間は PCIe Gen4 x 8 を6組使って接続しています。 残りの2個は M2000の背面の QSFP Connector に接続されています(全部で8個)。これは、他のM2000 と接続するために使われます。IPU Gateway (実態は、Xilinx ZynqUltrascale+ MPSoC) と PCIe Gen4 x8 で接続しています。x16 でないのは、IPU Gateway 側の PCIe IP が Gen4 では x8 までしかサポートしていないからです。

IPU Gateway からは、

  • DRAM x 3
  • 100GbE x 2
  • PCIe Gen4 x 8 (スロットは x16)、ここには Mellanox ConnectX-5 (100GbE) が付いています。ホスト(x86-64)と接続します。
  • M2. NVMe (PCIe Gen2 x4) : Boot SSD
  • RGMMI x 2 (1つは Ethernet Switch 経由で RJ45に、もう一つは PHY <=> PHY で BMC と接続しています。

おわりに

Graphcore、色々なドキュメントを公開しています。

理由はよくわからないのですが、。。。

NVIDIA Grace Superchipの性能

はじめに

NVIDIAのGraceの発表があったのは、GTC2020春でした。

vengineer.hatenablog.com

あれから3年。そろそろ、Grace が出てきます。

今日のブログは、NVIDIAが公開した Grace CPU Superchip の ブログから。

NVIDIA Grace CPU Superchip

今回公開したのは、Grace CPU Superchipについてです。Grace CPUは、arm Neoverse-V2 x 72コア搭載で、Grace CPU Superchip は2つのGrace CPUをNVLink C2Cにて接続しています。

developer.nvidia.com

Grace Hopper Superchip に関しては既に公開済みで下記のWhitepaperに詳細があります。

resources.nvidia.com

下記の図は上記のブログにあるものです。説明のために引用します。

比較対象は、dual socket Milan 7763。Milan 7763は64コア/128スレッド、L3 Cacheは256MB(各dieでは32MB)。Milan-X ではないです。

Speed-upで 1.5倍以上、Energy saving で2.0倍以上改善です。

Grace の72コア、Milanの64コアでコア数だけでなく、チップ間の接続が NVLINK C2CとInfinity Fabricの転送帯域の大きな違いがものをいっているんじゃないですかね。1CPUでの比較もほしいところです。それから、メモリがLPDDR5で512GBですが500GB/sの帯域があります。Milanは204.8 GB/sの帯域なので2.5倍の性能差があります。上記の図にあるベンチマークのソフトウェアがメモリアクセスがどのくらいあるのかも気になります。

おわりに

Grace CPU Superchipベースのサーバー(たぶん 2Uのハーフ、2Uに2台の Grace CPU Superchipを搭載できる)を出してくると思うので、メモリが1TB(512GB + 512GB)でもOKなアプリケーションはいいソリューションになるんじゃないでしょうか?

NVIDIA DGX H100のホストは、Intel Sapphire Rapids であることを正式発表

はじめに

NVIDIAのDGX H100の発表があった時に、ホストは dual x86 になっていました。Datasheetも同じです(今もそのまま)

ホスト側の正式発表が無いのに明示することができないのでそうなっていたんでしょうね。。。

DGX H100の資料では、メモリが8枚 x 2組になっているので、AMD の Genova ではないことが確定しているので結局は Intel Sapphire Rapidsということは既知だったんでしょうけど。

DGX を振り返る

  • DGX-1 (P100/V100) : Intel Xeon E5-2698( Haswell) v4 x2 (20コア + 20コア)
  • DGX-2 (V100) : Intel Xeon Platium 8168 (Skylake) x 2 (24コア + 24コア)
  • DGX A100 : AMD ROME 7742 x 2 (64コア + 64コア)
  • DGX H100 : Intel Sapphire Rapids x 2 (56コア? + 56コア?)

DGX A100 だけ、AMDです。これは Intel が PCIe Gen4 対応できていなかったからじゃないですかね。

ちょっと気になっているのは、A100 に対して、H100 は6倍の性能なのに、CPUコア数はほとんど変わらないというところです。

たぶん、これに対してのソリューションが Grace-Hopper Superchip なんでしょうね。x86-64コアに比べると性能は落ちるかもしれないが、72コアのNeoverse-V2ならそれなりに頑張れると。。。

おわりに

DGX H100のメモリ容量は、A100 の 2Tと同じですね。1CPUで1TB。16枚のメモリなので、64GB x 16 = 1TB。128GBメモリで安定して動くようになるのはいつ頃なんでしょうか?

Samsung DDR5は、16Gb なので、2GB。64GBだと、32個。。。ECC を考えると36個ですよね。。。。これ以上無理ですよね。 Samsung DDR5では、32Gb を出すようなので、そうなると、128GB まではいけそうですね。。。。

Google Tensor G1とG2を使ったプロダクトとedge TPU

はじめに

Google Tensor G1とG2を使ったプロダクト名を Android Source Codes から探っていきます。

Kernel の gs の中の arch/arm64/boot/dts/google/Makefile から

Google Tensor G1 (gs101) を使ったプロダクト

Whitechapel が G1 (gs101) の codename

  • Slider : G1 (gs101) の開発用ボード
  • Slider2
  • Whitefin : G1 (Whitechapel)とPixel 5 の「redfin」を組み合わせたもの
  • Whitefin2
  • Whitefin2v2
  • Oriole : Pixel 6
  • Raven : Pixel 6 Pro
  • Bluejay : Pixel 6a

Google Tensor G2 (gs201) を使ったプロダクト

  • Cloudripper : G2 (gs201) の 開発ボード
  • Ravenclaw : Pixel 7a ????
  • Cheetah : Pixel 7
  • Panther : Pixel 7 Pro

G1 の edge TPU (abrolhos)

gs101-tpu.dts に、G1 の edge TPU (abrolhos) の情報がありました。

compatible = "google,edgetpu-gs101" とあります。

動作周波数は、

  • 1,024MHz
  • 967MHz
  • 836MHz
  • 627MHz
  • 455MHz
  • 266MHz
/ {
    /* TPU */
    edgetpu: abrolhos@1CE00000 {
        compatible = "google,edgetpu-gs101";
        #dma-address-cells = <1>;
        #dma-size-cells = <1>;
        /* TPU uses regions under 0x18000000 for special purpose */
        dma-window = <0x18000000 0xE7FFF000>;
        reg = <0x0 0x1CE00000 0x200000
               0x0 0x1CCF0000 0x10000>;
        reg-names = "tpu", "ssmt";
        interrupts = <GIC_SPI IRQ_NS_TPU_TPU IRQ_TYPE_LEVEL_HIGH>;
        hardware-id = <0x0 0xb>;
        iommus = <&sysmmu_tpu>;
        samsung,iommu-group = <&iommu_group_tpu>;
        status = "okay";
        memory-region = <&tpu_fw_reserved>;
        /* CSR Region for APM <-> TPU Mailbox */
        csr-iova = <0x17690000>;
        csr-phys = <0x17690000>;
        csr-size = <0x10000>;
        gsa-device = <&gsa>;
        tpu_dvfs_table_size = <6 2>; /*<row col>*/
        /* DVFS values calculated from average power with real-world workloads
        * on B0
        */
        tpu_dvfs_table = <
        /* when updating tpu_dvfs_table, update tpu_dvfs_table_size as well
         *    freq    power(mW)
         *----------------------------------
         */
            1024000   4819
             967000   4101
             836000   3085
             627000   1916
             455000   1213
             226000      0
        >;
        samsung,tzmp;
    };
    tpu_cooling: tpu-cooling {
        #cooling-cells = <2>;
    };
};

G2 の edge TPU (janeiro)

gs201-tpu.dtsi に、G2 の edge TPU (janeiro) の情報がありました。

compatible = "google,darwinn" とありますので、今までの edge TPU と基本的には同じようです。

動作周波数は、

  • 1,066MHz
  • 967MHz
  • 845MHz
  • 712MHz
  • 627MHz
  • 455MHz
  • 266MHz
/ {
    /* TPU */
    edgetpu: janeiro@1CE00000 {
        compatible = "google,darwinn";
        #dma-address-cells = <1>;
        #dma-size-cells = <1>;
        /* TPU uses regions under 0x18000000 for special purpose */
        dma-window = <0x18000000 0xE7FFF000>;
        reg = <0x0 0x1CE00000 0x200000
               0x0 0x1CCF0000 0x10000>;
        reg-names = "tpu", "ssmt";
        interrupts = <0 IRQ_MAILBOX_TPU2AP_NS_TPU_0_TPU IRQ_TYPE_LEVEL_HIGH>,
            <0 IRQ_MAILBOX_TPU2AP_NS_TPU_1_TPU IRQ_TYPE_LEVEL_HIGH>,
            <0 IRQ_MAILBOX_TPU2AP_NS_TPU_2_TPU IRQ_TYPE_LEVEL_HIGH>,
            <0 IRQ_MAILBOX_TPU2AP_NS_TPU_3_TPU IRQ_TYPE_LEVEL_HIGH>,
            <0 IRQ_MAILBOX_TPU2AP_NS_TPU_4_TPU IRQ_TYPE_LEVEL_HIGH>,
            <0 IRQ_MAILBOX_TPU2AP_NS_TPU_5_TPU IRQ_TYPE_LEVEL_HIGH>,
            <0 IRQ_MAILBOX_TPU2AP_NS_TPU_6_TPU IRQ_TYPE_LEVEL_HIGH>,
            <0 IRQ_MAILBOX_TPU2AP_NS_TPU_7_TPU IRQ_TYPE_LEVEL_HIGH>;
        /* TODO(b/195608852): Enable coherency */
        iommus = <&sysmmu_tpu>;
        samsung,iommu-group = <&iommu_group_tpu>;
        status = "okay";
        memory-region = <&tpu_fw_reserved>, <&tpu_fw_ctx_reserved>;
        edgetpu,shareability = <0x1cc20000>;
        gsa-device = <&gsa>;
        tpu_dvfs_table_size = <7 2>; /*<row col>*/
        /*
         * DVFS values calculated from average power with real-world workloads
         */
        tpu_dvfs_table = <
            /* when updating tpu_dvfs_table, update tpu_dvfs_table_size as well
             *    freq    power(mW)
             *----------------------------------
             * TODO(b/192394098): update these with more accurate numbers for PRO
             */
                1066000   4420
                 967000   4101
                 845000   2578
                 712000   1982
                 627000   1749
                 455000   1277
                 226000      0
            >;
    };
    tpu_cooling: tpu-cooling {
            #cooling-cells = <2>;
    };
};

PCIe RC

G1/G2 の pcie 関連は、基本的に同じでした。

PCIe Device Driver

どうやら、Synopsys の IP っぽいです。

おわりに

Google Tensor G1 / G2 を使ったプロダクトと edge TPU の情報がわかりました。

Tenstorrent、Jim Keller san が CEO に!

はじめに

2021年1月に、Tenstorrentに President & CTO として Join した Jim Keller san が CEO になり、CEOの Ljubisa Bajic san が CTO になったようです。

www.eetimes.com

この2年、ずーと、Jim さんが出てきていましたからね。

おわりに

ML Accelerator から RISC-VコアをベースとしたML Computerに移行中の Tenstorrent。

RISC-Vに関しても順調に進んでいるようなので、MLの方をCTOとしてBajic sanが進める感じなんですかね。。

追記)、2023.01.25

Keith Witek -san が COO になったという記事です。

www.prnewswire.com