季刊超々ハイエンドサーバーの世界 2020年春号

1-3月が冬、4-6月は春だ

HDDの大容量化進む

WDが20TB HDDを出荷

WDがSMR方式で20TBのHDD、およびCMR方式で18TBのHDDをサンプル出荷

WD、新技術で面記録密度を高めた20TB HDDをサンプル出荷
 Western Digitalは、Ultrastar DC HC650 SMR 20TB HDDと、Ultrastar DC HC550 18TB HDDのサンプル出荷を開始したと発表した。

昭和電工が熱アシスト記録メディアの開発に成功

HDDの次世代記録技術HAMR対応HDメディアの製造技術を開発 | レゾナック
HDDの次世代記録技術HAMR対応HDメディアの製造技術を開発について紹介します。レゾナックのニュースリリースページです。

昭和電工が熱アシスト記録に対応したHDDプラッタを開発。熱アシスト記録既存のHDDより強力な磁性体を素材として使用することができ、記録密度は4倍以上、70~80TBのHDDが製造できる見通しだという。

SAS HDDが最大Read290MB/sへ

東芝ALシリーズHDD一部のモデルがカタログスペックで290MB/sに到達

AL14SX シリーズ | 東芝デバイス&ストレージ株式会社 | 日本
Enterprise Performance HDDのAL14SXシリーズは、12.0Gbit/sのSASインターフェースで、当社で最も高速回転の15,000rpmのミッションクリティカル向け2.5型HDDです。

なおSATAでは先述のUltrastarの270MB/s前後が最速とみられる。

AMD CPUの動向

Ryzen threadripper 3990X発売

Zen2世代最強のCPUとなる64コア/128スレッドのRyzen Threadripper 3990Xが発売された。サーバー向けEpycにはすでに64コア/128スレッドモデルは存在するが、Epycはサーバー用にクロックを抑え気味なのでこちらがより高性能である。

今年中にZen3のEpycが登場する?

https://northwood.blog.fc2.com/blog-entry-10173.html

AMDの発表によると、Zen3アーキテクチャのEpycが今年末に登場するとのこと。

Google TPUのコア数と構造

Google TPUに関してサイトごとに異なる情報が書かれていたりするので、本誌なりに情報をまとめる。

結論としては

  • TPU Pod v2=512 v2コア=64TPU v2
  • TPU v2=2 コア×4チップ構成のボード
  • TPU Pod v3=2048 v3コア=256 TPU v3
  • TPU v3=2 コア×4チップ構成のボード

と考えられる。

TPU v2

やや複雑ではあるが、v2 TPUは2コアチップが4つ乗ったボードで、これを最低単位としている。

根拠としては以下の通り。

1ポッド=64 TPU v2

また以下のページでは、TPU v2単体が180TFlops、ポッド全体で11.5PFlopsとしている。

Tensor Processing Unit(TPU)
専用設計された Google Cloud の Tensor Processing Unit(TPU)は、ML ワークロードを高速化します。詳細については、今すぐ Google Cloud までお問い合わせください。

11500TFlops / 180TFlops = 63.8888・・・≒64

であり、1ポッドがTPU v2×64でできていることが分かる。

1ポッド=512 v2コア

料金表v2-512のメモリ容量とhttps://cloud.google.com/tpu?hl=jaで書かれたTPU Podのメモリ容量は一致しているので、1ポッドがv2 512コアである。

1 TPU v2=2コア×4チップ

GoogleのページでもTPU v2は4つのチップが乗ったボードの写真が掲載されており、1TPU v2=8コア=4チップと考えられる。またこの考えはHot Chipで発表された資料と思われるものと一致している。

Case Study on the Google TPU and GDDR5 from Hot Chips 29
At Hot Chips 29 (2017) attendees were treated to a case study on the original Google TPU and what the TPU would have looked like with GDDR5

まとめ

これらより、

TPUポッドv2=512コア=64 TPU v2=512 v2コア=64×(2コア×4チップ)

として辻褄が合う。

TPU v3

TPU v3でも上記同様にメモリ容量を頼りに考えると、1ポッド=2048 v3コアであることが間違いない。

またTPUv3 1つが420TFlops、TPU Pod v3が最大100PFlops以上とされている。こちらも料金表では最低単位が8コアとなっており、TPU v3が8コアでできているとすれば

  • 1ポッド=2048コア=256 TPU v3
  • 420TFlops×256 TPU v3=107PFlops

となり100PFlops以上という計算にちょうど合う

よって

TPUポッドv3=2048コア=256ユニット=256 TPU v3=256×(2コア×4チップ)

と考えて辻褄が合う。

Tesla A100登場

Nvidiaが前世代Tesla V100の20倍というTesla A100を発表した。

どこが性能20倍になったのか

こういった性能x倍という表現は最大限良い条件での性能比率である。いったい何が20倍なのであろうか。

その前に、近年出てきた新しい浮動小数点型について紹介したい

特徴主導企業
float1610年以上前から存在し、元はグラフィック用に作られたデータ型。NVIDIA, Microsoft
tf32主にTensorflowで使用されているデータ型。名前から32bitのように見えるが実際には19bitデータであり、float32の指数部とfloat16の仮数部を組み合わせた形になっている。このため、float16より表現できる数値の範囲が広く、float32と互換性がある(仮数部を丸めるだけで変換可能)。Google?
bfloat16主にIntelのCPUやFPGAで採用されているデータ型。float16より指数部を増やし仮数部を減らしているので、表現できる範囲はfloat16より広く精度は低い。ニューラルネットワークで使用するにあたって精度は低くてもさほど問題ないためこのような実装になったと考えられる。Intel

参考:https://medium.com/@moocaholic/fp64-fp32-fp16-bfloat16-tf32-and-other-members-of-the-zoo-a1ca7897d407

では、Tesla A100の性能を見てみる。

 

単位:TFlopsTesla A100Tesla V100
float649.77.8
float64(Tensor core)19.5
float3219.515.7
tf32(Tensor core)156※
bfloat16(Tensor core)312※
float16(Tensor core)312※125
INT8(Tensor core)624※
INT4(Tensor core)1,248※

※スパース行列(疎な行列)の場合さらに2倍

表の水色部分はTensor coreの性能を表記している部分である。Volta世代のTesla V100がTensor coreで処理できるのは半精度少数のみであったが、Ampare世代ではこれに加えてfloat64, tf32, bfloat16, INT8, INT4(INT8, INT4はTuring世代でも対応している)が処理できるようになった。

そして、従来のV100のfloat32性能とA100のTensor core使用時でスパース行列の処理時のtf32性能を比較して20倍としていることが分かる。

float32での性能と、精度が落ちるtf32での性能を比べて20倍になったというのはやや乱暴なように思われるが、ニューラルネットワークで使用する限りはどちらを使用しても大差がなく、一応の説得力はある。

一方、Tensor coreを使用しないCUDAコアの性能比較ではおよそ3割増し程度である。

コメント

タイトルとURLをコピーしました