後藤弘茂のWeekly海外ニュース
GPUコンピューティングとグラフィックスへ分化するNVIDIA GPU
(2016/5/27 11:11)
GP100とGP104のアーキテクチャの違いが示すNVIDIA GPUの進化
NVIDIAの「Pascal(パスカル)」世代のGPUアーキテクチャで見えてきたのは、NVIDIA GPUの統合化と分化の方向性だ。現在、NVIDIAは、GPUの製品フィーチャを分化させつつ統合化しようとしている。具体的には同じPascalでも、「Tesla P100(GP100)」と「GeForce GTX 1080(GP104)」では、GPUのマイクロアーキテクチャも、メモリやインターフェイス回りなどのチップアーキテクチャも異なる。ちなみに、AMDでは、こうしたGPUコンピューティングとグラフィックスそれぞれへの分化はあまり見られない。
その一方で、かつてはまったく異なるアーキテクチャだったTegra系の統合GPUも、共通アーキテクチャへと統合されている。次世代のFinFETプロセス版のTegraは、PascalアーキテクチャのGPUコアを備えている。アーキテクチャの統合と分化の両側面が進んでいる。
具体的にはGP100は、GP104に対して命令ユニット当たりのレジスタファイル、シェアードメモリ、インフライトWarp数が強化され、NVLinkをチップ間インターフェイスとして実装し、HBM2で広帯域メモリを実現する。その一方で、GP100には、GP104が備える「Simultaneous Multi-Projection(サイマルテニアスマルチプロジェクション)」やグラフィックスプリエンプションは、GP100には実装されていない。
こうして見ると、NVIDIAのGPUは、GPUコンピューティングに最適化したアーキテクチャと、グラフィックスに最適化したアーキテクチャに、ゆるやかに分化しつつあるように見える。もっとも、これまでもNVIDIA GPUは、GPUコンピューティング向けのハイエンドGPUと、グラフィックスを主眼としたパフォーマンスGPU以下の製品でアーキテクチャに差異がある場合があった。
「Fermi(フェルミ)」アーキテクチャの世代でも、最上位のGeForce GTX 480(GF100)系と、ミドルレンジのGeForce GTX 460(GF104)系で、SM内のGPU内部の演算ユニット構成や命令発行などのアーキテクチャの基本部分が異なっていた。また、Kepler世代でも、最後発のGK210になるとマイクロアーキテクチャが異なっていた。
「これまでもアーキテクチャの違いはあった。Keplerでは最後のGK210は、いくつかの点で進化しておりSM(Streaming Multiprocessor)が異なっている。GK210は、より多くのレジスタファイルとシェアードメモリを備えている。Fermiでも同様に異なるアーキテクチャを採用した」とNVIDIAでGPU開発の指揮を取るJonah Alben氏(Senior Vice President, GPU Engineering, NVIDIA)は説明する。
もっとも、GK210の時は、グラフィックス向けGPUはMaxwellアーキテクチャへと進化したが、HPC向けのFP64性能の高いGPUの進化が取り残されたという状況にあった。そのため、HPC向けに“Kepler改”の必要があり、GK210ベースのTesla K80を投入したという事情があった。
コモンアーキテクチャに統合しながら実装は分化させる
Pascal世代での違いは、インターフェイスなどこれまでよりGPUによる差異が広がっており、差異のある製品のリリース時期も近接するようになっていることだ。NVIDIA GPU全体で見ると、マイクロアーキテクチャがそれぞれの市場にモディファイされ、チップ全体のアーキテクチャも差異が出ている。
その一方で、マイクロアーキテクチャの基本は共通化が進んでおり、共通アーキテクチャを実装するタイミングも同期しつつある。結果として、同世代ではGPUコンピューティングのTesla、グラフィックスのGeForce、モバイル/組み込みのTegraでGPUマイクロアーキテクチャが揃うようになった。
NVIDIAのJonah Alben氏(Senior Vice President, GPU Engineering, NVIDIA)は次のように説明する。
「最終的に、NVIDIAは単一のコモンアーキテクチャモデルにたどり着いた。しかし、コモンアーキテクチャと言っても、そこから性格が異なるチップを派生させている。我々は、それぞれの市場に向けて、異なる製品を開発している。コアアーキテクチャは共通だが、バランスが異なる。FP64(64-bit)倍精度浮動小数点演算ユニットやレジスタファイル、シェアードメモリなどのバランスだ。
Teslaでは、こうした機能を強化したバランスが必要とされている。しかし強化すると、リソースを消費する。そのため、GeForceでは、異なる(これらの機能を削った)バランスとしている。結果として、NVIDIAのGPUは、コモンである部分は保ちながら、それぞれのチップは、以前より多くの違いを持つようになっている。例えば、GP100のNVLinkなどがそうだ。
グラフィックス向けに機能を削るというだけではない。我々は、GPUでのコンピュートが受け容れられるにつれて、GPUにより多くのコンピュート機能を入れ込んできた。それと同時に、グラフィックスでもVR(Virtual Reality)のような新しい技術が来れば、そうした市場変化に追従できるクールなアイデアを入れ込んでいる」。
GP100ではディープラーニングのためにFP16を倍性能化
マイクロアーキテクチャ面で非常に面白いのはFP16(16-bit半精度)浮動小数点演算の実装だ。GPUコンピューティングを主眼としたGP100では、FP16(16-bit半精度)浮動小数点演算の性能を倍にする、2-way SIMD(Single Instruction, Multiple Data)型のFP16を実装した。このフィーチャによって、GP100のFP16のピーク性能は、FP32(32-bit単精度)浮動小数点演算の2倍になった。
しかし、GP100よりも後に開発されたはずのGP104には、この2-wayパックドFP16は実装されていない。GP104のFP16パフォーマンスはFP32と同様だ。ところが、同じ2-wayパックドFP16は、Tegra系GPUには実装される。Tegra版のMaxwellコアから実装されており、新しいTegraのPascalコアでも継承される。「我々はPX2(Tegraベースの自動車向け組み込みボード)では、GP100のものと似たような(FP16)命令セットを導入する」とNVIDIAのAlben氏は語る。
つまり、NVIDIAのGPU系列では、GPUコンピューティングとモバイル/組み込みの両市場向けの製品にはパックドFP16を実装して、FP16パフォーマンスをブーストする。しかし、PCグラフィックス向けの分野ではFP16はブーストされない。単純に、組み込み→PCグラフィックス→GPUコンピューティングと、コンピューティング機能が強化されるのではなく、市場によって異なる実装となっていることが分かる。
まず、GPUコンピューティングのGP100でパックドFP16がサポートされたのは、ディープラーニングのためだ。「GP100は、ディープラーニングのトレーニングに使われる製品だ。そのため、ディープラーニングで重要となる半精度浮動小数点演算の性能を高める必要があった」とNVIDIAのAlben氏は語る。
ディープラーニングでは、膨大なコンボリューショナルニューラルネットワークの演算を高速化するため、データの量を抑える方向に向かっている。FP16でも十分な精度が得られるというのが現在のコンセンサスとなっており、そのためFP16が多用されている。GP100は、こうした流れに対応するために、FP16を倍性能にブーストした。
それに対して、PCゲーミングのグラフィックスでは、FP16は過去のものとなっているとNVIDIAは見る。ピクセルパイプでもFP32単精度が標準となっているため、コストをかけて実装する必要がないと判断したようだ。「半精度浮動小数点演算はPCゲーミングでは重要ではないと判断した。ローエンドのゲームですら、単精度以上の精度を前提としているからだ。GeForceに実装しなかったのはそのためだ」(Alben氏)
組み込み向けのTegraでもFP16半精度を強化
ところが、モバイルや組み込みとなると話が違ってくる。こうした分野では、メモリ帯域やオフチップインターフェイスの電力消費を抑えるため、FP16が依然として使われている。そこに向けたTegraでは「OpenGL ESでも低精度がサポートされているように、FP16の性能が必要だと判断した」(Alben氏)という。これはモバイル系GPUに共通した認識で、Imagination TechnologiesのPowerVR Series6(Rogue)も、当初はFP16のパスを作らなかったが、現在はFP16はFP32の倍性能となっている
また、組み込みでのFP16の強化は、組み込みではディープラーニングが重要という側面がある。ディープラーニングを使った認識処理に使われるケースが今後増えることが予想されるからだ。ディープラーニングは、膨大なコンピューティングリソースで行なう「トレーニング(training)」フェイズでニューラルネットワークモデルを構築。そのモデルを使って、車載などの機器で認識を行なう「推論(inference)」フェイズを実現する。トレーニングはデータセンターで行なうが、推論は組み込みデバイスで行なう。推論も、それなりのデータ量になるため、組み込みGPUでもFP16半精度が有効となる。
NVIDIAはこのように、GPUによって、演算パスのマイクロアーキテクチャも変更している。ただし、プログラム性での互換性は維持しているとNVIDIAは強調する。例えば、GP100では、FP64(64-bit倍精度)浮動小数点演算はFP32の2分の1と、高い性能比率となっている。それに対してGP104では、FP64はFP32の32分の1の性能だが、それでも命令セットレベルの互換性は保たれている。
FP16も、コンパイラレベルでは保たれてるという。NVIDIA GPUは、SIMT(Single Instruction, Multiple Thread)アーキテクチャで、32-wayのスレッドが、それぞれマスクレジスタによるプレディケーションによって擬似的に分岐しているように扱うことができる。だが、パックドFP16の部分はプレディケーションは適用されない。2個のFP16演算は同じスレッドの内部となる。スレッドの命令ストリームからFP16をコンパイル時にパックする使い方が一般的だと言う。
GP104にだけ加えられているフィーチャ
グラフィックス機能では、GP100に対してGP104の方が進んでいる。GP104には、サイマルテニアスマルチプロジェクション、グラフィックスプリエンプション、アンシンクロナスコンピューティング、ダイナミックロードバランシングの新機能が搭載されている。いずれも、グラフィックス機能を拡張させたり、グラフィックスとコンピューティングの2つの処理を混在させる場合に重要となるフィーチャだ。これらの違いは、製品市場毎の特殊化でもあるが、開発時期の差も影響しているという。
「サイマルテニアスマルチプロジェクション(SMP)については、GP100で実装されていないのは、単純にGP100の方が先に開発されたという事情もある。我々は、通常、GPUのフィーチャをできる限り同一に近く保とうとしている。しかし、SMPのケースでは、開発時期の差もあり、GP100には実装できなかった」(Alben氏)。
サイマルテニアスマルチプロジェクションは、アプリケーションの開発に大きく影響するフィーチャであるため、将来のハイエンドGPUではサポートされると見られる。
メモリについてもGPUコンピューティングのGP100がHBM2、グラフィックスのGP104がGDDR5Xと、分かれた。これは経済性のためだ。
「注意して欲しいのは、我々が両方(HBM系とGDDR系)のメモリ技術を望んでおり、その両方で最新技術を使おうとしていることだ。GDDR5Xは、GDDR5の自然な進化であり、そのために経済的に効率の高いメモリとなっている。それに対して、HBM2は経済性では及ばないが、最高のメモリ帯域を実現してくれる。HPC(High Performance Computing)の世界では、我々はできる限り最高の技術を提供しようとしている。そのため、HBM系メモリを使いたいと考えている」(Alben氏)。
HBM系メモリは、DRAM側にシリコン貫通ビア(TSV:Through Silicon Via)技術が必要で、加えてGPUダイ(半導体本体)とDRAMスタックの下にシリコンインタポーザを設置する必要がある。アセンブリも含めて製造コストが相対的に高い。GDDR5Xも実装が大変な技術だが、HBM2に比べるとコスト面では安くつく。HBM2で得られる帯域と省電力を、コストとはかりにかけると、パフォーマンスGPU以下の製品はGDDR5Xに落ち着いたということだろう。
インターフェイスではNVLinkもGP100だけのフィーチャだ。NVIDIAは、GP104にSLI機能を持たせてチップ間コネクタのSLIブリッジも刷新した。しかし、SLIのインターフェイスにNVLinkは採用しなかった。Alben氏は「NVLinkでは、膨大なチップ間帯域を得ることができる。しかし、SLIブリッジでは、そのまでの帯域は必要としない」と説明する。もちろん、非常に高速インターフェイスのNVLinkをブリッジに使うこと自体が難しいという事情もある。
2016年5月27日
- 連載山田祥平のRe:config.sysMicrosoftはWindowsの聖域を壊せるか[2016/05/27]
- 連載PC使いこなし塾Microsoft Office 2016をこれから使うあなたへ【第6回】[2016/05/27]
- 【裏ワザ】Windows10に隠されたGodMode(神の方法)の使い方[2016/05/27]
- Excelで共同作業を始めよう!OneDriveを使った共有と編集権限の設定方法[2016/05/27]
2016年5月26日
- 連載ニュースの視点マイナス成長続くPCメーカーは今後どこに活路を見出すべきか[2016/05/26]
- Razer、12.5型高性能モバイル「Razer Blade Stealth」を本日国内発売、約13万円から[2016/05/26]
- メインストリームユーザーを取り込む「Razer Blade Stealth」[2016/05/26]
- HP、GeForce GTX 1080搭載デスクトップなどゲーミングPCを刷新[2016/05/26]
- 連載やじうまミニレビュー約3,000円で叩き売り。青軸(っぽい)メカニカルゲーミングキーボード[2016/05/26]
- .bizPFU、Sansanの名刺管理サービスが付属するドキュメントスキャナ[2016/05/26]
- ユニットコム、6万円台でSSD+HDDのデュアルドライブデスクトップ[2016/05/26]
- ロジクール、約3,000円の耐水キーボード&マウスセット[2016/05/26]
- パナソニック、ダムの中の壁面を4Kカメラで点検するロボットを開発[2016/05/26]
- Microsoftのクラウドサービスがダウン中【15時20分 復旧を確認】[2016/05/26]
- やじうまPC Watchレゴで作られた姫路城が飛び出す巨大な絵本[2016/05/26]
- やじうまPC Watchスター・ウォーズを1話丸々1,024×465,152ドットの長〜い1枚絵で表現したサイト[2016/05/26]
- 連載実録! 編集飯【Engadget編集者参戦中】豚キムチ、ラーメン、ベーコンチーズバーガー、かけうどん、逗子のラーメン[2016/05/26]
- Microsoft Edgeの使い方まとめ。Windows 10の新ブラウザーの操作・設定が丸わかり![2016/05/26]
- GoProで撮影した動画をFacebookやYouTubeで共有する方法[2016/05/26]
- iPhoneで受信したメールの添付ファイルをiCloud Driveに保存する方法 ほか[2016/05/26]
- ダイジェスト・ニュース[2016/05/26]
- アップデート情報[2016/05/26]
2016年5月25日
- Microsoft、スマートフォン・ハードウェア部門で1,850人規模の人員削減[2016/05/25]
- 無意識を人に伝えるインターフェイスの可能性[2016/05/25]
- 連載Windows 10ユーザーズ・ワークベンチWindows 10、そのバックアップと回復[2016/05/25]
- 【IMW 2016】imec、1兆サイクルの書き換えが可能なReRAM技術を開発[2016/05/25]
- ASUS、メモリ倍増でパワーアップした約5万円の10.1型2in1[2016/05/25]
- MSI、VRのケーブル地獄から解放するバックパック型PC[2016/05/25]
- アイ・オー、写真/デザイン向けの広色域液晶「PhotoCrysta」[2016/05/25]
- ユニットコム、女性ゲーム配信者のotofuとコラボしたゲーミングPC[2016/05/25]
- ドスパラ、GeForce GTX 1080の深夜発売イベントを実施[2016/05/25]
- OCZ、最大転送速度2,600MB/secの同社初NVMe SSD「RD400」[2016/05/25]
- クリック/タイプ音を抑えた静音ワイヤレスキーボードとマウスのセット[2016/05/25]
- 世界初。バッテリで駆動するポータブル電子レンジ[2016/05/25]
- シチズン、航空機パイロット向けの「プロマスター」にGPS対応モデル[2016/05/25]
- 1,000万人の顔写真と対象人物を約0.68秒で照合できる技術[2016/05/25]
- 連載実録! 編集飯【Engadget編集者参戦中】カツカレー、チキンカレー、ボロネーゼ、キーマカレー、天ぷら[2016/05/25]
- ダイジェスト・ニュース[2016/05/25]
- アップデート情報[2016/05/25]
- 財布がスッキリ! ポイントカード管理アプリ「Stocard」でスマートに買い物しよう[2016/05/25]
- GoProの映像をスマートフォンで再生・簡易編集する方法[2016/05/25]
- iPhoneで表示したメールのリンクにはどんな機能がある? ほか[2016/05/25]
- Instagramの特徴に合ったマーケティングの方向性とは?[2016/05/25]