Vengineerの妄想(準備期間)

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

Alibaba の Xuantie-910 は、Arm Cortex-A73より速い

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった 

Twitterで拾ったこの論文。

Xuantie-910: A Commercial Multi-Core 12-Stage Pipeline Out-of-Order 64-bit High Performance RISC-V Processor with Vector Extension

論文の最後の方に、Arm Cortex-A73との性能比較のグラフが載っていますが、勝ったり負けたりしていますね。

エッジサーバー、ネットワーク、ゲートウェイ、そして自律運転車などの、ヘビーデューティーなIoTアプリケーション向けに開発された

ということなので、A73 との比較なんですね。納得です。

 

Google君に聞いたら、いろいろ出てきました。

eetimes.jp

この記事では、2019年9月にGitHub上にオープンソースにするとありますね。

どうやら、2019年7月の発表なんですね。

www.cnx-software.com

 

μTVMの解説記事

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった 

このブログでも以前紹介した「μTVM」

こちらは、紹介記事で

medium.com

こちらが全文。

tvm.apache.org

μTVMは、TensorFlow Lite for Microcontrollerの対抗

μTVMは、AutoTVMにて、実機で実行した時間をベースにチューニングができるというもの。特別なハードウェア無しに、JTAG接続でできるので便利ですね。

μTVMの Runtime は、ここ 。ターゲットもこんな感じ

 

rpc_server.py にも、μTVM対応をしているね。

 

このブログで紹介した「μTVM」

vengineer.hatenablog.com

vengineer.hatenablog.com

Graphcore RackScale IPU-POD

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった 

www.graphcore.ai

このブログ、2年前のものなんですが、DELLのサーバーに C2 IPU PCIe Boardを8枚さしたものを提供する前は、この IPU-POD が Graphcore の商品だったんですよね。

で、この写真(URLを組み込んでいます)。右側の上下の2個は、DRAMスロットが2個付いているので何らかのSoCですね。真ん中と左側の2個が、C2 IPUで右側のSoCから2つのC2 IPUと PCIe Gen3 x8 で接続しているんだと思います。

https://www.graphcore.ai/hs-fs/hubfs/IPU%20Machine.png?width=900&name=IPU%20Machine.png

 

左側が前面になり、上側に拡張用のPCIe Slot でありますね。

このブログのトップにある下の写真(URLを組み込んでいます)の左側にPCIe Slotが見えますね。各サーバーから上下に4本のケーブルが接続されていますね。

となると、サーバーの4個のC2 IPUの接続もDELLサーバーと同じようになっている感じですかね。

https://www.graphcore.ai/hs-fs/hubfs/Introducing%20the%20Graphcore%20Rackscale%20IPU-POD.jpg?width=1600&name=Introducing%20the%20Graphcore%20Rackscale%20IPU-POD.jpg

このIPU-PODは、32 IPU-Machines、128 IPUs とあります。IPU-PODの一番上にあるサーバーの上段のコネクタは繋がっていませんね。

 

ということは、DELLサーバー8台分(1台のDELLサーバーで16 IPUsなので)になりそうですね。

 

DELLサーバーが現在、約100Kドルなので、8台で約800K ドル。。。SoCはXeonより安いでしょうから、もうちょっと安いんですかね。。。どうなんだろうか?

 

SPARSE Training

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった 

NVIDIA A100にて、TensorCoreにてSparsityをサポートしましたよね。

devblogs.nvidia.com

学習時にPruningしてもGPUではほとんど美味しくないと思っていましたが、A100のTensorCoreのように Sparsityをサポートすれば、計算時間が短縮できますよね。

A100の場合はそれなりの条件があって、1/2 にしかできないですが。。

 

では、どんな時に、Trainingでも Pruning をすればお得なのでしょうか?

その例がこのビデオの中の最後のセッションでの Graphcore に出てきました。

「Why SPARSE Training」

youtu.be

Graphcore C2 IPUの場合は、各コアが同じ命令を実行するのじゃないので、Pruningして計算する量を減らせば減らすほど処理時間が短くできそうです。学習しながらPruningすればどんどん計算量を減らせます。といってもある程度でPruningは終わるでしょうが。。。

 

ということで、Graphcore の C2 IPS は、NVIDIAのA100の先を行ってたんですよ。

1年以上前に。。。。

 

本当かな。。。

Cerebas CS-1を2台 + 8台のHPE Superdome Flex

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった 

insidehpc.com

によると、

Neocortex architectureというものは、Cerebras CS-1 AI serversを2台使うと。

The Cerebras servers will be coupled with a HPE Superdome Flex provisioned with 24 terabytes of memory, 205 terabytes of high-performance flash storage, 32 powerful Intel Xeon CPUs, and 24 network interface cards for 1.2 terabits per second of data bandwidth to each Cerebras CS-1, according to PSC. 

 にあるように、32個のXeonと24本のネットワークカードとCerebras CS-1 と繋げる。

1台の Cerebras CS-1 には、12x standard 100 Gigabit Ethernet が付いているので、2台で24本のネットワークカードになるわけですね。

HPE Superdome Flex って、これかな (PDFファイル)

  • CPU:最大32ソケット
  • メモリ:最大48T
  • ネットワーク:10GbE x2ポート、1GbE x2ポート
  • PCIe 最大128(PCI Express Gen3 x16 56スロット、PCI Express Gen3 x8 72スロット)

ネットワークは100GbEじゃないので、PCIe にボードさすんですね。

背面を見ると、PCIe は16枚しか刺さらないので、24枚刺すのはどうするのでしょうかね。仕様的には、x16なら56スロット、x8なら72スロットとあるので、

おっと、こちらの資料 (PDFファイル)では、5Uのサーバーには4ソケットしかさせないで、8台使って、32スロットをサポートするようです。

となると、24本のネットワークも8台のどこかに刺せばいいということね。

ここに8台のRackが載っていますね。

 

32コア間の接続は、HPE Superdome Flex ASICを使って、HPE Superdome Flex Gridを構成するのね。

ここにも詳しいブロック図があります。ここには、各ASICから15本でている配線用のコネクタが2組(合計で30個)が前面(カバーを外さないと見られないっぽい)の下側にあります。ここにはもっと詳しいブロック図もあります。

 

いろいろと調べていったら出てきました

HPE Superdome Flex ASICに採用されているのって、HPが買収したSGINUMALink がベースっぽい。

NUMAlink 8 (Flex ASIC)[edit]

NUMAlink 8 is the eighth generation of the interconnect, introduced in 2017 and used in the HPE Superdome Flex. NUMAlink 8 is capable of 853.33 GB/s of bisection peak bandwidth(64 links are cut) for up to 32 socket system and 48TB of coherent shared memory.

 とあります。

2017年のNEXTPLATFORMの記事も出てきた。

www.nextplatform.com

Verilogの歴史

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった 

Twitterに流れてきたこのツイート

 Objective-C の歴史の論文で、6月末まで無償。。。

まー、これなら、あーそうね。。chirs Latthner さんだから、と思っていたら。

このツイートに関連して、次のツイートに、Verilogの歴史、楽しんだと。

 え、そんなのあるの?と思って、アクセスしてみたのがこちら。

Verilog HDL and its ancestors and descendants

https://dl.acm.org/doi/abs/10.1145/3386337

こちらの論文も6月末まで無償でアクセスできます。(ずーと無償で公開されているようです)

 

で、この論文を眺めてツイートしたのが、いろいろあります。

ここいら辺にあるので、興味がある方は、眺めてください。

 

追記)、2021.03.27

Dennis さんの下記のツイートを見て、ブログを書こうと思い、自分の過去のブログを検索したら、このブログが出てきた。

 Cadenceのブログも載せておくね。

community.cadence.com

DVCon US 2021 でのビデオも貼っておきます。

DVCon 2021: A personal perspective on the history of SystemVerilog / Superlog

www.youtube.com

Graphcore と PaddlePaddle

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった 

GraphcoreがBaidu PaddlePaddle Hardware Ecosystem に参加

www.graphcore.ai

TensorFlow、PyTorch (実際には、ONNX)、ONNX対応に追加して、

Graphcoreが PaddlePaddle をサポート。。。

github.com

PaddlePaddleでは、CPUとGPU(CUDA)のサポートをしているみたいですが、

TensorFlowの場合はXLAにてサポートしたみたいですね。。

PyTorchの場合は、ONNX経由、で、PaddlePaddleではどうするんでしょうかね。