北森瓦版 - Northwood Blog (Author : 北森八雲. Since July 10, 2006.)
Intel Cooper Lake Xeon For Training Details from Architecture Day 2018(ServerTheHome)
First Pictures of Intel Ice Lake Xeon Server Chips(ServerTheHome)

Intel Architecture Day 2018で、Intelは“Cooper Lake”についていくつかの情報を明らかにした。“Cooper Lake”世代では新たな命令が追加され、CPUでのディープラーニングの強化が図られる。
 
まずXeonの今後の流れであるが今度登場するのが“Cascade Lake-SP”とその派生製品となる“Cascade Lake-AP”である。これに続くのが“Cooper Lake”、そしてその次に“Ice Lake”が位置する。
“Cascade Lake”についてはIntelはいくつかの情報をもたらしてきたが、今回のArchitecture DayでIntelは“Copper Lake”とそれ以降についても情報をもたらした。
 
まず“14nm Core Evolution”というスライドが示されている。このスライドには数世代にわたった14nmのTurbo時最大周波数が世代ごとに上昇していることが左側に示されている。第1世代では4.20GHzであった最大周波数は第4世代では5.00GHzに達している。ちなみに14nmのXeonは“Broadwell-EP”→“Skylake-SP”→“Cascade Lake-SP/-AP”→“Cooper Lake”と4世代にわたっている。
同じスライドの右側には“Cascade Lake”と“Cooper Lake”でAI及びMachine Learning周りの強化が図れることが示されている。“Cascade Lake”では10nm製品で予定されていたVNNIを導入する。そして“Cooper Lake”はbfloat16をサポートする新たなISAがもたらされる。

続くそのものずばりの“AI/Macihne Learing”の表題がつけたスライドに“Cooper Lake”のより詳しい特徴が示されている。“Cooper Lake”は前世代の“Cascade Lake”に続きAI/MLのアクセラレートが行われ、推論・学習について次の段階となる強化が行われる。そしてそのための機能としてbfloat16 (BF16) 型データのNative supportが行われる。FP32比でbfloat16のpeak throughput/cycleは2倍となる。
この詳しいISAの内容についてはまもなく明かされているとしている。

bfloat16とはなんぞや、と思うが、“AI/Macihne Learing”のスライドの下にその説明が成されている。浮動小数点におけるデータの一形式(という表現が適切がどうか怪しいが)のようである。

  0.XXXXX×10^Y
  X=仮数部 Y=指数部 (これに符号部1-bit)
  FP32:X=23-bit Y=8-bit
  FP16:X=10-bit Y=5-bit
  bfloat16:X=7-bit Y=8-bit

雑な解釈をしたのが上である。正直この理解で良いのかかなり自信はない。

とにかく、AI/Macihne Learing周りに軸足を置いた世代というのが“Cooper Lake”であるようだ。



◇“Ice Lake”世代のXeonが披露される

“Cooper Lake”に続くのが“Ice Lake”で、“Xeon Roadmap”のスライドには“Ice Lake”の下に“Sunny Cove”の文字がある。Architecture Dayで示された10nmの新アーキテクチャのPerformance CPU coreの名が“Sunny Cove”である。そして“Ice Lake”世代のXeonのCPUコアとして用いられるのも“Sunny Cove”となる(Xeonに限らず“Ice Lake”世代のProcessorのCPUコアアーキテクチャの名が“Sunny Cove”となるのだろう)。

“Ice Lake”世代のXeonは新アーキテクチャである“Sunny Cove”の採用と10nmプロセスでの製造に加え、PCI-Express 4.0への対応が行われる。そしてその“Ice Lake”世代のXeonが披露された。披露されたXeonのパッケージは長方形で、現行のLGA3647のそれを思わせる形態で、サイズも概ねLGA3647と似たサイズであるようだが、ヒートスプレッダの形状はだいぶ異なっている。PCI-Express 4.0への対応が行われることも加わり、“Ice Lake”は現行のLGA3647には対応しないだろうとみられている(“Ice Lake”の前の世代となる“Cooper Lake”のSocketがどうなるのかは不明。対応するPCI-Expressの世代についても言及はない)。


コメント
この記事へのコメント
162290 
COOPER LAKEのスライドにあるTraining Accelarationとは、冗談なのか本気なのか?
(100倍くらい速くならないとGPUの代わりにならないと思ってるので)
2018/12/18(Tue) 01:45 | URL | LGA774 #-[ 編集]
162292 
数日前のPC Watchの記事で分かったけど、10nmで設計したアーキテクチャのIce Lakeが頓挫したから急遽再設計したのがSunny Coveというのは間違いで、
Ice LakeはCPU製品コードネームでCPUマイクロアーキテクチャのコードネームがSunny Coveなのね
Intelはメディアが誤解しないように何度も説明してるけど、そもそもIntelが説明下手なんだよね…
2018/12/18(Tue) 02:35 | URL | LGA774 #-[ 編集]
162293 
bfloat16 の説明は大丈夫でしょう。

FP32 / 単精度浮動小数フォーマットから指数部分を変えず、仮数のビットを落として 16 ビットにしたフォーマット。ですね。
精度は(結構)落ちるけど FP32 と同じ範囲の数値を表現できるので、FP32/bfloat16 間の変換で楽できる。
2018/12/18(Tue) 04:10 | URL | LGA774 #-[ 編集]
162296 
> FP32/bfloat16 間の変換で楽できる。

機械学習には精度よりも指数の範囲の方が大事らしいので、そういう意味でもbfloat16はFP16より便利ですね。
bfloat16 はもともとGoogle が TPU v2 で採用した形式で、それを取り入れたんだと思います。
2018/12/18(Tue) 10:22 | URL | LGA774 #qsvP4ThM[ 編集]
162297 
bfloat16の説明ですが、指数部は10の冪ではなく2の冪ですね。
2018/12/18(Tue) 12:44 | URL | LGA774 #Xreq1aI.[ 編集]
162300 
IEEE754では仮数部の最上位bitは1であることを利用して省略しているので
1.XXXX * 2^Y
が正しいはず。
2018/12/18(Tue) 21:21 | URL | LGA774 #-[ 編集]
162448 
>>162290
機械学習のそれの話なら
ハードウェアの実装のしかただからCPUとGPUのそれと何か
勘違いしているのでは?
速度とかいう単純計算にはならず最終的には情報量やら
規模の問題になる、規模が大きくなると相互の接続の遅延
問題が巨大な問題として発生する。
2019/01/07(Mon) 16:14 | URL | LGA774 #-[ 編集]
コメントを投稿する(投稿されたコメントは承認後表示されます)
トラックバック
この記事のトラックバックURL
https://northwood.blog.fc2.com/tb.php/9617-c7207449
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック