後藤弘茂のWeekly海外ニュース

チップカンファレンス「Hot Chips」で次世代京コンピュータなどが発表

次世代Kコンピュータ向けのARMの拡張命令が明らかに

 米クパチーノで開催されている半導体チップカンファレンス「Hot Chips」は、各社が次世代チップの技術を発表する場となっている。28回目となる今回は、初日のチュートリアルで、次世代メモリについての「Using Next-Generation Memory Technologies」と3Dセンシングについての「3D Depth for Consumers」と、2つのテーマが扱われた。2日目となるカンファレンス初日は、GPUとHPC(High Performance Computing)のベクタコンピューティングから始まった。

 GPU/ベクタのセッションの目玉は、ARMによる新しいベクタ拡張アーキテクチャ「Scalable Vector Extension(SVE)」の発表。SVEの特徴はベクタ長を固定しないこと。実装によって128-bitから2,048-bitまで、128-bit単位で選択することができる。物理ベクタ長に適合させる「Vector-Length Agnostic(VLA)」プログラミングモデルを取り、動的にコードを異なるベクタ長にフィットさせるという。SVEは、ベクタレーン毎のプレディケーションによるコントロールフロー制御を専用レジスタで行なう。HPCをターゲットとしているため、SVE命令はARMv8-AのAArch64エンコーディングオンリーで、64-bit時にしか使えない。

 SVEは日本にとって重要な命令セット拡張となる。富士通の“ポストK”コンピュータ向けのプロセッサに採用されるためだ。富士通がポスト京コンピュータにARM命令セットを採用することは、既にISSCC(IEEE International Solid-State Circuits Conference)で発表されている。Hot Chipsで富士通の吉田利雄氏(アドバンストシステム開発本部 プロセッサ開発統括部 第一開発部 部長. 富士通)は、ARMとSVE開発で密接に協力して来たことを明らかにした。512-bitワイドのベクタプロセッサを実装する。また、マイクロアーキテクチャに最適化した、富士通独自のコンパイラも提供する。富士通は、これまでも、SPARC64とメインフレームと異なる命令セットのコンピュータを、独自のマイクロアーキテクチャ実装で共通化して設計した実績を持つが、今回も同じアプローチを取る。

 ARMは、SVE命令セットを富士通に提供だけでなく、他社にもライセンスする。エクサスケール時代のHPCで期待されているARMにとって、HPC市場への切り札の1つとなる。富士通にとっても、ARMv8+SVEのバイナリとエコシステムがHPCで育つことは助けとなる。

富士通の吉田利雄氏(アドバンストシステム開発本部 プロセッサ開発統括部 第一開発部 部長. 富士通)
ベクタ長を固定しない点がSVEの特徴
SVEのレジスタアーキテクチャ
ポスト京のプロセッサのオーバービュー
富士通はARMのSVEのリードパートナーであることを明らかにした
ポスト京の開発状況

NVIDIAは「Pascal GP100」の新たな詳細を発表

 NVIDIAは、HPC向けのPascalアーキテクチャのGPU「Tesla P100(GP100)」のより詳細を発表した。NVIDIAの発表で興味深かったのは、同社が“本物の”ダイ写真を公開したこと。NVIDIAは、最近はGPUダイを加工した、フェイクの写真しか公開していなかった。今回は学会ということもあり、ダイが公開された。ダイ上に30個のSM(Streaming Multiprocessor)が認められ、上下にHBM2インターフェイス、左サイドにNVLinkインターフェイスが配置されている。

 GP100は新モジュール「SXM2」で提供され、HBM2モジュールを4スタック、GPUダイの周囲に配置している。今回、HBMの各スタックの8メモリチャネルに対応した8個ずつのメモリコントローラが配置され、それぞれにL2キャッシュスライスが分散されていることが明らかにされた。GPUとHBMスタックはシリコンインタポーザ上に配置されており、インタポーザはダイをアタッチした後にシンニング(薄化)される。

 チップ間インターコネクト「NVLink」は、GP100にはバージョン1.0が実装されている。ディファレンシャル信号で20Gbpsの転送レート、片方向x8の構成。GP100は4つのNVLinkを実装している。NVLinkはパケットベースの伝送で、ヘッダー部分にCRCを持つ。CPUとも直結が可能で、Hot ChipsではNVLinkをサポートするIBMのPower9も発表される。

GP100のダイ
NVLinkの物理構成
NVLinkのパケット
GP100の新モジュール
GP100とHBMの製造

ARMの「Bifrost(バイフロスト)」GPUアーキテクチャ

 ARMはSoC向けのGPUコア「Bifrost(バイフロスト)」アーキテクチャを発表。BifrostベースのGPUコア「Mali-G71」の構成も明らかにした。

 ARMは、従来のGPUアーキテクチャ「Midgard(ミッドガルド)」では「パックド(Packed)」方式のベクタプロセッシングを行なっていた。それに対して、Bifrostでは「スカラ(Scalar)」方式へと切り替えた。ベクタの各レーンのコントロールフロー制御を行なう。GPUコンピューティングなど、グラフィックス以外のタスクに対応しやすくなった。

 ARMのBifrostアーキテクチャの特徴は、GPU各社が32~64-wayの幅が広いベクタであるのに対して、ARMは4-wayと狭いベクタを採用している点。実行ユニットは、4-wayの積和算ユニット(FMA)とSpecial Function Unit(SFU)/加算(ADD)ユニットの2パイプ。また、32-bitの演算ユニットは、SIMD(Single Instruction, Multiple Data)構成になっており、16-bitでは32-bitの2倍のスループット、8-bitでは4倍のスループットとなる。内部バス「CoreLink CCI-550」により、ARM CPUコアとBifrost GPUコアが、双方向でキャッシュコヒーレンシを取ることができる。

GPU全体の構成。シェーダコアは32コアまでスケーラブルに増やすことができる
シェーダコアの中の構成。4-way SIMDのエグゼキューションエンジンはGPUによって個数が異なる
演算ユニット自体もSIMDで16-bitと8-bitではスループットが上がる。これはマシンラーニングやコンピュータビジョンのように低精度が重要となるワークロードで効果を発揮する
CoreLink CCI-550」により、ARM CPUコアとBifrost GPUコアが、双方向でキャッシュスヌープが可能。従来はCPUからGPUへのスヌープしかできなかった

Samsung初の自社マイクロアーキテクチャCPUコア「Exynos M1」

 Hot Chips初日には、モバイルプロセッサのセッションも行なわれ、Samsungが独自マイクロアーキテクチャで開発した「Exynos M1」プロセッサの発表を行なった。ARMv8ベースで、Samsungで初めての独自マイクロアーキテクチャプロセッサとなる。Samsungは、既にExynos M1コアを搭載したモバイルSoC「Exynos 8890」を、同社のフラッグシップスマートフォン「Galaxy S7」のインターナショナル版に搭載している。Exynos 8890は、Exynos M1が4個、Cortex-A53が4個の8コアとなっている。

 Exynos M1はARMv8ベースの、Samsungの14nm FinFETプロセス 14LPP。動作周波数は2.6GHzで、ピークでコアあたり3W以下。4命令デコードパイプラインで、4μOPs(内部命令)ディスパッチとリタイヤが可能なアウトオブオーダ実行となっている。ARMが提供しているCPUコアIPは、3命令デコードまでなので、Exynos M1の方がデコード帯域が広い。ブランチプレディクタはニューラルネットワークベースで、パーセプトロンを使う。

 ベクタパイプは乗算(MUL)系と加算(ADD)系の2本。パイプラインは分岐予測から命令フェッチまでが5サイクル、デコードが3サイクル、リネームが2サイクル、レジスタリードと整数演算はそれぞれ1サイクル。最短で15ステージとやや深めのパイプラインとなっている。

ニューラルネットベースの分岐予測
4命令デコード/サイクルのデコード帯域
最大7μOPsを実行ユニット/スケジューラにイシューできる
ARM系ではやや深めのパイプライン

MediaTekの3段階構成の10コアモバイルSoC

 MediaTekは10コアのモバイルSoC「Helio X20」の設計コンセプトをHot Chipsで説明した。高性能のCortex-A72を2コア、2GHzまで動作するCortex-A53を4コア、1.4GHzまでのCortex-A53を4コアという、ヘテロジニアスマルチコア構成となっている。特殊なCPU構成は、3段階の異なるCPUコアで、最適なワークロードを走らせるというコンセプトから来ている。

 ARMは、big.LITTLEと呼ぶ省電力アーキテクチャを提供している。大型でパフォーマンスの高いCPUコア(big)と、小型で低消費電力のCPUコア(LITTLE)を組み合わせ、それぞれのコアに最適なタスクを走らせる。MediaTekのアプローチはそれを拡張してミッドレンジコアを加えた3段階とする。30%省電力になるとしている。

 3段階のコア切り替えのために、タスクスケジューリングも変える。従来のARMのbig.LITTLE構成のHMP (Heterogeneous Multi-Processing)方式ではブートCPUコアはオフにできない。ブートするCPU0を動的に変更できる機能を加えたAsymmetric Multi-Processing(AMP)によってリトルとミッドのCPUコア群を制御する。

負荷がミッドレンジのアプリ使用が増えたために3段階のCPUコア実装を採用
ローパワーとミッドパワーの2種類のCortex-A53を搭載
インターコネクトは3コア群をサポート
タスクスケジューリングも3段階アーキテクチャに合わせて改良

基調講演にはMicrosoftのHoloLensが登場

Nick Baker氏(Distinguished Engineers, Technology and Silicon, Microsoft)

 Hot Chips初日の基調講演では、MicrosoftのAR(Augmented Reality)システム「HoloLens」が登場。MicrosoftのNick Baker氏(Distinguished Engineers, Technology and Silicon, Microsoft)が、HoloLensの概要と半導体チップについて解説した。Microsoftが開発者向けに提供しているHoloLensは、仮想現実を現実世界のビューにオーバーラップする拡張現実技術。ヘッドマウント型のデバイスで、SoCと画像処理のプロセッサを搭載し、単体で動作する。

 Microsoftは、HoloLensのために、カスタム設計の「HPU(Holographic Processing Unit)」チップを設計した。システム構成は、メインの制御用にIntelのAtomベースのCherry Trail SoCを搭載。HoloLens特有の画像やセンサ入力の処理にはTensilica DSPとディスプレイユニットを統合したHPUを搭載する。どちらも1GBのLPDDR3をPOPパッケージで搭載する。また、ストレージに64GBのNANDフラッシュメモリも搭載する。

 HPUの中核は24個のTensilica DSPで、Tensilica Instruction Extension(TIE)によって命令セットを拡張。また、専用アクセラレータも搭載する。専用HPUを使うことで、ソフトウェア処理の200倍の効率で、ヘッドマウントユニットに収まる電力に収めることを可能とした。チップはTSMCの28nm HPCプロセスで製造。ロジックゲート数は6500万、8MBのSRAMを搭載する。

HoloLensで実現する拡張現実
HoloLensゴーグル
HoloLensのシステムアーキテクチャ
カスタム設計の「HPU(Holographic Processing Unit)」チップ
HPUチップのダイレイアウト
HPUアーキテクチャ
HPUの設計選択