後藤弘茂のWeekly海外ニュース
倍精度浮動小数点演算性能を引き上げた新GPUアーキテクチャ「Pascal」
(2016/4/8 15:31)
メインストリームGPUも発売されるPascalアーキテクチャGPU
NVIDIAは、同社が主催するGPUコンピューティングカンファレンス「GPU Technology Conference(GTC)」で、次世代ハイエンドGPU「Tesla P100(GP100)」を発表した。次世代GPUアーキテクチャ「Pascal(パスカル)」ベースのGPUコンピューティング向け製品だ。前回のレポートで説明したように、Pascalは、GPUマイクロアーキテクチャ、プロセス技術、メモリ&パッケージ技術、プロセッサ間インターコネクトの全ての面で技術的に飛躍した画期的なGPUとなっている。基調講演では、PC向けのメインストリーム向けと見られるPascalベースGPUもチラ見せされ、Pascalアーキテクチャが幅広いGPUラインナップで投入されることも示唆された。
PascalはGPU内部のマイクロアーキテクチャが、前世代の「Maxwell」から刷新されている。一言で言えば、GPUコンピューティング重視路線に戻ったマイクロアーキテクチャだ。NVIDIAのGPUコンピューティング戦略に、ブレがないことが明らかになったGPUだ。
Maxwellは、ダイ面積当たりの単精度(FP32)浮動小数点演算性能を引き上げるために、倍精度(FP64)浮動小数点演算性能を思い切り削った。どちらかと言えば、PCグラフィックスやモバイルに寄ったマイクロアーキテクチャとなっていた。おそらく、当初はNVIDIAは、GPUコンピューティング市場ではその前の世代のKeplerを継続し、グラフィックス市場をMaxwell主導へと並列させるつもりだったと推測される。しかし、計算精度の要求が低いディープラーニングの勃興で、MaxwellもGPUコンピューティング市場に投入したことで、NVIDIAの戦略がやや分かりにくくなっていた。
MaxwellでFP64を犠牲にしてFP32を強化したのは、同じ28nmプロセスノードで、性能をアップさせなければならない、という制約があったからだ。トランジスタが縮小しないため、何かを犠牲にしない限り、FP32の性能を伸ばすことができなかった。しかし、16nm FinFETプロセスに移行したPascalでは、使うことができるトランジスタ数が大幅に増えるため、そうした制約がない。そこで、NVIDIAは、Pascalではマイクロアーキテクチャを刷新し、FP64性能をFP32の2分の1のバランスに一気に引き上げた。
PDF版はこちら
Maxwell世代の「Tesla M40(GM200)」と比較すると、Pascal Tesla P100のFP64性能は25倍にもなる。KeplerベースのTesla K40(GK110)と比較しても3倍の性能だ。Pascalは、HPC(High Performance Computing)用途にも十分に耐えられるマイクロアーキテクチャとなっている。言い換えれば、NVIDIAにとっては3年半振りの、本格的なHPC向けTeslaの更新となる。
共通点も多いMaxwellとPascalのSM(Streaming Multiprocessor)
NVIDIA GPUは、コンピュート系のユニットをSM(Streaming Multiprocessor)と呼ばれるクラスタにまとめている。Maxwell以降は、SMはさらにプロセッシングブロック(Processing Block)に分割されている。プロセッシングブロックは、warpスケジューリングと命令発行、レジスタを共有するブロックで、CPU的にはコアに当たる。warpはNVIDIA用語での論理ベクタを示し、32エレメントで構成される。従来のGPU用語で言えば、分岐グラニュラリティがwarpだ。warpはSIMD(Single Instruction, Multiple Data)型実行されるがプレディケーションで見かけ上各レーンを分岐させることができるため、NVIDIAはSIMT(Single Instruction, Multiple Thread)と呼んでいる。warpの32スロットの命令ストリームもスレッドと呼ばれており、1warpが32スレッドの構成となる。
PDF版はこちら
MaxwellとPascalのマイクロアーキテクチャには共通性も強い。どちらも、1つのプロセッシングブロックの中に32個のFP32 CUDAコアと、8個のロード/ストアユニット、8個のスーパーファンクションユニット(Special Function Unit:SFU)、2命令発行の命令ユニット、レジスタを含む。FP32 CUDAコアは単精度(FP32)浮動小数点演算演算ユニット、SFUは超越関数などを実行するユニット、ロード/ストアはメモリからのデータの読み出し/書き込みを制御する。
ただし、GPU SMの構成は、PascalとMaxwellで大きく異なる。Pascal SMは、Maxwell SMを半分に切ったような構造となっている。Maxwell SMは、プロセッシングブロックが4つで、FP32 CUDAコアが合計128個の構成だった。それに対して、Pascal SMは、プロセッシングブロックが2つで、FP32 CUDAコアが合計64個の構成となっている。
PDF版はこちら
Maxwell SMを分割したPascal SM
Maxwell SMでは、4個のプロセッシングブロックで96KBのシェアードメモリと命令キャッシュを共有する仕組みだった。それに対して、Pascal SMでは粒度が下がり、2個のプロセッシングブロックで64KBのシェアードメモリと命令キャッシュを共有している。一言で言えば、リソースの共有の比率が減り、個々のプロセッシングブロックが、より多くの共有リソースと共有リソースの帯域を使えるようになった。プロセッシングブロック当たりのシェアードメモリの量はMaxwellが24KBに対してPascalが32KBだ。シェアードメモリ帯域は2倍になっている。MaxwellからPascalで、メモリ階層自体はあまり変わっていない。
PDF版はこちら
PascalとMaxwellとも、各プロセッシングブロックの命令発行は2命令/サイクルで2命令は同じwarpから発行される。前回の記事で説明したように、PascalはMaxwellより、インフライトで立ち上げることができるwarp数は倍増しており、その分、より多くの命令を充填することができる。それに対応して、レジスタファイルもMaxwellより倍増されている。
ちなみに、このブロック図はGPUコンピューティングについてのブロック図であり、グラフィックスでは多少表現が異なる可能性がある。Maxwellでは、SM毎にジオメトリ演算の固定機能ユニットが付属していた。頂点フェッチやテッセレータ、ビューポイントトランスフォームなどだ。しかし、PascalではSMが2個のプロセッシングユニット構成になるため、個々のSM毎にジオメトリユニットが付くとバランスが崩れる。おそらく、Pascalのグラフィックス時の構成では、2個のSM毎にジオメトリユニット群が付属して「Texture/Processor Cluster (TPC)」クラスタを構成すると推測される。下が推測図だ。
PDF版はこちら
各ブロック毎に16ユニット相当のFP64性能
PascalのSMでは、演算ユニットが大幅に強化された。Maxwellでは、FP64はSM当たり4命令/サイクル、つまり、1つのプロセッシングブロック当たり1ユニット相当のFP64性能だった。FP32に対してFP64性能は32分の1だった。それに対して、Pascalでは、FP64はFP32の2分の1の性能へとジャンプアップした。そのため、NVIDIAの公式のブロック図でも、FP64 CUDAコアが図上で明記された。
実際には、FP64とFP32は部分的にリソースは共有すると見られる。FP64は32スレッドのwarp命令を2サイクルに1命令発行となるため、warp命令を1命令/サイクルのFP32の半分のスループットとなる。そのため、下の図では、便宜的に、Pascal SMブロックでは16個のFP64 CUDAコアとして描いている。同様に、MaxwellはSM全体でFP64は4スレッド/サイクルであるため、便宜上、Maxwell SMブロック図上では各1個のFP64 ユニットとして描いている。
PDF版はこちら
また、Pascalでは、パックドFP16がサポートされた。従来は半精度(FP16)浮動小数点演算は、FP32 CUDAコアで実行され、FP32と同じスループットだった。Maxwell世代なら、1プロセッシングブロック当たり、FP32とFP16ともに、32エレメント/サイクルだった。しかし、Pascalでは、2-wayのSIMD(Single Instruction, Multiple Data)型のFP16がサポートされた。そのため、32個のCUDAコアで、各サイクル32エレメントのFP16演算が可能となっている。
PDF版はこちら
ただし、このFP16は、SIMD型のパックド(SIMD)演算であるため、FP32やFP64のように、それぞれのエレメントに対する命令が異なる方向に分岐した場合に、見かけ上分岐したように処理するプレディケーションは行なうことができない。ある程度使い方が限定される。しかし、FP16を多用するディープラーニングの場合、分岐しないため、パックドFP16を有効に使うことができる。パックドFP16は、NVIDIAのモバイルSoC「Tegra X1」のMaxwellコアで最初に採用されている。
ディープラーニングを意識した2-way SIMD型のFP16フォーマットの導入
パックドFP16の導入によって、PascalのFP16の性能は激増した。Tesla P100のスペックではFP16は21.2TFLOPS。Maxwell Tesla M40の7TFLOPSに対して3倍だ。FP32性能は、Maxwellに対して、Pascal Tesla P100は10.6TFLOPSと1.5倍にしか上がっていないため、NVIDIAはマーケティング的にはFP16の性能を前面に押し出している。しかし、多くのHPCカスタマーはKepler Tesla K40であるため、PascalでFP32の性能もKeplerの4.3TFLOPSから2.47倍に上がる。
浮動小数点は、符号部、指数部、仮数部の3部フォーマットからなる。IEEE 754規格では、FP32は「s8.23」の符号部1-bit/指数部 8-bit/仮数部 23-bitのフォーマットだ。それに対してFP16は「s5.10」の符号部1-bit/指数部 5-bit/仮数部 10-bitとなる。ダイナミックレンジは2の40乗。さらに非正規化数(subnormal number)のハードウェアサポートもある。これがソフトウェア処理となると、性能が大幅に落ちるケースが出る。
FP16は、GPUにとって新しくて古いフォーマットだ。グラフィックスで、整数から浮動小数点に移行する際に、データ量を抑えるためにFP16が導入され、盛んに使われた。グラフィックスでは現在も使われているが、同じくデータ量を抑える目的でディープラーニングにも採用が進んだことから、急に脚光を浴びている。FP16性能は、GPUアーキテクチャの新しい焦点となっている。NVIDIAがPascal(パスカル)をディープラーニングに向けて作ったと主張する根拠の大きな部分は、このFP16のサポートにある。
マイクロアーキテクチャが一新されたPascalだが、それ以上に変わったのは、メモリとパッケージング、そしてインターコネクトだ。Tesla P100は、通常のPCI Expressボードではなく、NVLinkボードで提供される。メモリはスタックドのHBM2だ。そして、このHBM2が、Pascalの強力な武器であると同時に泣き所となっている。量産を立ち上げたばかりのHBM2の供給が、Tesla P100の需要に追いつかないためだ。次回は、Pascalのインターフェイス回りをレポートしたい。
2016年4月8日
- 連載後藤弘茂のWeekly海外ニュース倍精度浮動小数点演算性能を引き上げた新GPUアーキテクチャ「Pascal」[2016/04/08]
- モバイルワークステーション向けGPU「Quadro M5500」が登場[2016/04/08]
- IBM Watson CTOロブ・ハイ氏基調講演レポート[2016/04/08]
- VAIO、BEAMSとコラボした特別仕様のVAIO Z[2016/04/08]
- 連載山田祥平のRe:config.sys「点」と「線」を2in1、重量798gな「LAVIE Hybrid ZERO」の正義[2016/04/08]
- 連載森山和道の「ヒトと機械の境界面」脳情報を解読し次世代人工知能の基盤に[2016/04/08]
- Intel、AlteraのFPGA「Arria 10 GX」を1パッケージに統合したXeon[2016/04/08]
- 今年後半の薄型ノートやタブレットは音質が大きく向上(するかもしれない)[2016/04/08]
- ユニットコム、3D CADに最適化された3Dプリンタ向けPC[2016/04/08]
- 本日みつけたお買い得品8,980円のプリンタ。インクジェット? いいえ、カラーページプリンタです[2016/04/08]
- 最新版HoloLensで感じた新しいUIとしての可能性[2016/04/08]
- iOS/Android版OutlookがEvernoteやFacebookのタスクを表示可能に[2016/04/08]
- ASUS、Xeonが使える2万円切りのゲーミングATXマザー[2016/04/08]
- 連載実録! 編集飯しらす干し丼+刺身、焼肉、チキンカレー、釜たまうどん[2016/04/08]
- iPhoneで文字をコピーして貼り付ける方法 ほか[2016/04/08]
- Windows 10でスクリーンショットを撮る2つの方法[2016/04/08]
2016年4月7日
- レビューWindows 10マシンが無線ディスプレイになる「接続」アプリを試してみた[2016/04/07]
- 連載大河原克行の「パソコン業界、東奔西走」Microsoftにベンチャー精神は残っているのか?[2016/04/07]
- 連載PC使いこなし塾新社会人必読。PC Watchが選ぶショートカットキー10選【Gmail編】[2016/04/07]
- Mini-ITXとNUCの間にMini-STXが生まれた経緯[2016/04/07]
- 連載やじうまミニレビュー“今どき腕時計なんて……”と思っている人におすすめしたい「チープカシオ」[2016/04/07]
- Bashコマンドが打てるWindows 10最新ビルドが公開[2016/04/07]
- HDMIを無線伝送できるフルHD対応の送受信器セット[2016/04/07]
- Surfaceバスパワー対応を謳う低価格なDVDドライブ[2016/04/07]
- やじうまPC WatchシャープのTwitterに女子高生AI「りんな」が降臨中[2016/04/07]
- 連載実録! 編集飯チーズハンバーグ、エビ・エビ定食、ベーコンモッツァレラバーガー、牛すじつけそば[2016/04/07]
- ダイジェスト・ニュース[2016/04/07]
- アップデート情報[2016/04/07]
- Amazon、楽天の再配達をスマホから! 荷物追跡アプリ「ウケトル」の使い方[2016/04/07]
- iPhoneの文字編集時にカーソルを思いどおりに移動させる方法 ほか[2016/04/07]
- Windows 10のデスクトップアイコンを使いやすくする便利ワザ4選[2016/04/07]
2016年4月6日
- 連載後藤弘茂のWeekly海外ニュース革新アーキテクチャ「Pascal」はNVIDIA GPUのマイルストーンに[2016/04/06]
- 次世代GPUアーキテクチャ「Pascal」が明らかに[2016/04/06]
- NVIDIA、AIや深層学習を加速する「TESLA P100」を量産開始[2016/04/06]
- 連載後藤弘茂のWeekly海外ニュースNVIDIAが主催するGTCに、ディープラーニング専用チップ「Eyeriss」が登場[2016/04/06]
- 【速報】NVIDIA、PascalベースのGPU「Tesla P100」を発表[2016/04/06]
- HP、ブラック&ゴールドが美しい13.3型世界最薄ノート[2016/04/06]
- AMD、“Bristol Ridge”こと第7世代APUを5月末にも投入へ[2016/04/06]
- コヴィア、約26,000円の5型Windows 10スマホ[2016/04/06]
- ASUS、Atom x5-Z8350搭載のスティックPC[2016/04/06]
- ユニットコム、フルHD対応の15.6型スタンダードノート[2016/04/06]
- Plextor、東芝製15nm TLC NAND採用の「M7V」シリーズ[2016/04/06]
- .biz日本HP、印刷速度が2倍となったモバイルインクジェット[2016/04/06]
- ドスパラ、4月29日に自作PCの組み立て教室を開催[2016/04/06]
- やじうまPC WatchXiaomiがトランスフォーマーに変形するタブレットを発売[2016/04/06]
- 連載実録! 編集飯生姜焼き定食、肉そば、あんかけそば半チャ、豚丼[2016/04/06]
- ダイジェスト・ニュース[2016/04/06]
- アップデート情報[2016/04/06]
- iPhoneで利用できる絵文字の種類は? ほか[2016/04/06]
- WordPress 独自テーマの作り方・編集方法の解説まとめ ほか[2016/04/06]