GPUの新時代を切り開く「Turing」アーキテクチャ徹底解説(2/2 ページ)

» 2018年09月14日 22時00分 公開
[塩田紳二ITmedia]
前のページへ 1|2       

Turing GPUの命名規則

 Turingアーキテクチャで作られたGPUデバイスには「TU102」「TU104」「TU106」の3つがある。TU102はQuadro RTX 6000、GeForce RTX 2080 Tiに、TU104はQuadro RTX 5000、GeForce RTX 2080に、TU106はGeForce RTX 2070に搭載されている(それぞれファウンダーズエディションを含む)。

 NVIDIAのGPUチップには、アルファベット2文字と数字3桁の番号が付けられている。先頭の2文字は、アーキテクチャを表し、例えば、前世代のVoltaアーキテクチャでは「GV」、Pascalでは「GP」となっていた。このルールだと、Turingも「GT」になりそうだが、「GT」はTeslaアーキテクチャで既に使われているため「TU」となったようだ。

 次の数字3桁は、バージョンと用途を表す。この数字は科学技術演算向けのGPUでは100など、下2桁が「00」となり、グラフィックス向けでは、「102」以降の数字が使われる。このため、「TU102」は、Turing世代のグラフィックス向けGPUチップであると判断できる。

 また、これまでの慣習からすると、102はグラフィックス向けの最上位チップとなり、以下簡略化されたものが104、106という番号になる。基本的なアーキテクチャというか、SMの構造は同じだが、SMの数が違う。SMはグラフィックス処理を並列化して行っているため、SM数が多いほど高性能になる。なお、実際には、それぞれのGPUをGPUボード製品にする場合に、搭載メモリや動作クロックなどの違いがあり、さらにバリエーションが増えている。

 NVIDIAのGPUアーキテクチャは、Maxwell世代から科学技術演算を目的としたチップとグラフィックスボード向けのチップに分かれている。科学技術演算向けはTeslaシリーズなどに使われ、 グラフィックスボード向けのチップは、GeForceシリーズなどに利用される。両者は、同じアーキテクチャながら、SMの構造などに違いがある。

NVIDIAのGPUは、Maxwell世代から汎用計算向けとグラフィックス向けの2系統に分かれた。Maxwellはグラフィックス向けのみだったが、Pascal世代では汎用計算向け、グラフィックス向けの両方のGPUが開発された。TU102は、グラフィックス向けのGPUと考えられる

 最も大きな違いは、倍精度浮動小数点(Double precision floating number。DP)のための演算コアを内蔵しているかどうかだ。科学技術演算では、DP演算は必須で、これを高速化するために独立したコアを持つ。しかし、グラフィックス処理では、DP演算は不要であるため、これを装備しない。しかし、汎用計算を行う場合、SP演算用のコアを利用してDP演算を行わせることができ、ソフトウェア的な互換姓は保たれている。

 しかし、DP演算の速度はあまり速くならず、SP演算の1/32程度になってしまう。これに対して科学技術計算向けのGPUでは、DP演算の速度は、SP演算の1/3〜1/2程度にとどまる。

 なお、NVIDIAでは、SP、DPをFP32、FP64と表記することが多い。これは、浮動小数点を表現するビット数にちなみ、Floating Point 32bit、同64bitという意味だ。また、「半精度浮動小数点」(Half precision floating number)をFP16と表記する。

 その他、整数(Integer number)演算も32bit〜4bitをINT32〜INT4として表記する。NVIDIAが公開する資料などでは、このような表記が行われることがあるので注意されたい。以後、本記事でも、NVIDIAの表記に合わせFP32、FP64という表記を使う。

 こうした背景があるため、NVIDIAは、TuringをPascalと比較している。Voltaは、グラフィックス向けのバージョンとなるGV102などが予想されてはいるものの、現時点では、まだ発表が行われておらず、汎用計算向けのGV100のみが公開されている状態だ。また、Pascalも最初に発表された汎用計算向けのGP100とグラフィックス向けのGP102では、内部構造が大きく違い、むしろ、GP102のSMは、MaxwellのSMによく似ている。

 まずは、NVIDIAのGPUの特徴であるSMを見ることにする。同じグラフィックス系アーキテクチャとなるPascalのSMと比較すると大きく違っている。

TU102のSM。下がレイトレーシング用のRTコア。4つのWARPスケジューラーがあり、それぞれにFP32、INT32、Tensorコアがある。LDSTは、データアクセス用の「Load/Storeユニット」、SFUは、三角関数などを計算する「Special Function Unit」である
Pascal GP102などグラフィックス系GPUのSM。4つのWARPスケジューラーがあるが、その下に2つのDispatchユニットがあり、同一スレッドの2つの命令を発行できる

 むしろ、TuringのSMは、構造的には、VoltaのSMに似ている。しかし、大きな違いとして倍精度演算コアを持たない。

Volta GV100のSM。こちらは、汎用計算向けなので倍精度浮動小数点演算用のFP64ユニットがある。しかし、INT32、FP32コアが分かれ、Tensorコアがある、WARPスケジューラーの下にはDispatchユニットが1つしかないなど、TU102のSMとよく似ている

 SMは、最大1024個のデータ(これをブロックという)を複数同時に処理することができる(処理できるブロックの数はアーキテクチャにより違いがある)。それぞれを処理するプログラムは「スレッド」とよばれ、ブロックを処理するスレッドを「スレッド・ブロック」という。つまり、同じプログラムを多数のデータに対して適用するわけだ。

NVIDIA GPUは、データ全体(グリッドと呼ばれる)を分割したブロックを複数同時に1つのスレッドプログラムで処理する。ブロックに含まれるデータの数だけプログラムが同時に実行されるが、GPU内部では、これを32スレッドのWARPに分割して実行する。SMが多ければ、同時に処理できるスレッドブロックの数が多くなり、結果的に処理性能が向上する

 ただし、SMは、スレッドブロックを32スレッドをひとまとまりとした「WARP」という単位に分解して実行していく。このとき、WARPを実行するのが「WARP」スケジューラーであり、WARPスケジューラーの下でディスパッチャーが演算コアに命令を発効する。アーキテクチャにより、SMが持つWARPスケジューラーの数やそれぞれのWARPスケジューラーが持つディスパッチャーの数が違う。しかし、ソフトウェア上は、こうした違いはみえないようになっている。

 Turing SMのWARPスケジューラーは4つで、個々のWARPスケジューラーが持つディスパッチャーは1つしかない。Pascal(GP102)の場合、WARPスケジューラーは4つだが、ディスパッチャーはそれぞれに2つあり、同一スレッドの2つの命令を最大2つ処理させることが可能だ。

 こうした違いは、SM内部の演算コアの数に関係がある。GP102では、各WARPスケジューラーに対して、32個のCUDAコア(FP32またはINT32の演算を行える)があるため、32スレッドからなるWARPのFP32またはINT32の命令を1サイクルで行うことが可能だ。これに対してTuringのSMでは、WARPスケジューラーに対して、FP32コアが16、INT32コアが16となっており、32スレッドのWARP内のFP32、INT32命令は2サイクルに分けて処理される。

 ただし、PascalのCUDAコアは、一度には、FP32かINT32演算かのどちらかしか実行できないのに対して、Turingでは、FP32コアとINT32コアは並行して動作できる。さらにGPU全体としてみると、TU102は72個とGP102の30個と2倍以上のSMを持つ。このため、SM単体の処理性能がほとんど変わらなくても、TU102は、GP102よりも高い性能を出すことができる。

TU102とGP102のスペック比較

 もう1つ、TuringのSMには、4×4のFP16データの内積計算が行えるTensorコアがあり、これを使うことで、Pascalでは複数命令で行っていた演算を1命令で処理できるようになっている。Tensorコアは、最大130.5TFLOPSで内積計算を行えるため、これを使うことで演算処理が高速化される。特に画像処理のような行列演算では、内積計算は多用される演算だ。

 TuringのTensorコアは、改良が行われている。VoltaのTensorコアは演算対象が16bitのFP16のみだったが、Turingでは、2つのINT8(8bit×2)または4つのINT4(4bit×4)として行列演算を行う機能がある。こうした短い整数データは、ディープラーニングの推論処理などに使われる。

※TuringのTensorコアに関する説明を一部修正・補足しました(訂正:9月18日21時21分訂正)

 また、GP102とTU102では、動作クロック周波数に違いがあり、通常時のクロック周波数は、TU102のほうが低い(1455MHzと1506MHz)が、ブースト時のクロックは、TU102のほうが高い(1770MHzと1645MHz)。このため、FP32演算で比較すると、TU102が最大16.3TFLOPSであるのに対してGP102は12.6TFLOPSとなっている。

 次にGPU全体を見てみよう。TU102は下のような構造を持つ。

TU102は、6つのGPC(Graphics Processing Cluaster)からなり、内部に12個のSMを持ちGPU全体では72個のSMを持つ。GPCはグラフィックス処理時にはラスター単位で処理を行う

 NVIDIA GPUは、SMを複数組みあわせたGPC(Graphics Processing Claster)から構成されている。グラフィックスを扱う場合に、このGPCがラスター単位で処理を行う。TU102には、6つのGPCがあり、それぞれに12個のSMがあり、GPU全体では、72個のSMがある。

 これに対して、GP102の場合、6つのGPCのそれぞれに5つのSMがあり、GPU内部には30個のSMがある。さらに、TU102には、合計で12個のメモリコントローラーがあるのに対して、GP102には8つのメモリコンローラーしかない。その他、L2キャッシュのサイズにも違いがある。

Pascal世代のGP102チップは、6つのGPCを持つが、SMは5個しかなく、GPU全体で30個のSMしか持たない

 もう1つは、TU102にはVoltaと同じくNVLinkが搭載されていることだ。PascalのGP100にもNVLinkはあったが、グラフィックス系のGP102/104ではNVLinkが省略されていた。

 多数のSMを搭載できたのは、TU102が12nmプロセスで製造されているからだ。これに対してGP102は、16nmの製造だった。しかし、ダイサイズは、TU102が754平方mmと、GP102の471平方mmよりも大きくなっている。トランジスタ数で比較すると、GP102が120億トランジスタであるのに対して、TU102は、186億のトランジスタから構成されている。

 TuringアーキテクチャのGPUには、TU102の他、TU104とTU106がある。それぞれSMは同一で、TU104はGPC数はTU102と同じく6だがGPC内のSM数が8個に減らされている。TU106はGPCの構造は同一だが、3つだけになっている。それぞれのスペックとPascal世代との比較を下の表に示す。

Turingアーキテクチャの中位クラスとなるTU104。GPCの数はTU102と同じく6つだが、SMが8個しかない
下位クラスとなるTU106は、GPCに含まれるSMの数はTU102と同じだが、GPCが3つしかない
TU104とPascal世代GPUとの比較
TU106とPascal世代GPUとの比較

 Turingアーキテクチャは、レイトレーシングという新たな技術をPCにもたらし、よりリアルなアニメーションなどを可能にした。ラスターグラフィックスのみだったGPUの新時代を開いたといってもいいだろう。

ニュース解説番組「NEWS TV」で記事をピックアップ

ITmedia NEWS編集部がYouTubeでお届けするライブ番組「ITmedia NEWS TV」で、この記事を取り上げています。ぜひ視聴・チャンネル登録をお願いします。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

アクセストップ10

2024年04月25日 更新
  1. ワコムが有機ELペンタブレットをついに投入! 「Wacom Movink 13」は約420gの軽量モデルだ (2024年04月24日)
  2. 16.3型の折りたたみノートPC「Thinkpad X1 Fold」は“大画面タブレット”として大きな価値あり (2024年04月24日)
  3. 「IBMはテクノロジーカンパニーだ」 日本IBMが5つの「価値共創領域」にこだわるワケ (2024年04月23日)
  4. 「社長室と役員室はなくしました」 価値共創領域に挑戦する日本IBM 山口社長のこだわり (2024年04月24日)
  5. Googleが「Google for Education GIGA スクールパッケージ」を発表 GIGAスクール用Chromebookの「新規採用」と「継続」を両にらみ (2024年04月23日)
  6. バッファロー開発陣に聞く「Wi-Fi 7」にいち早く対応したメリット 決め手は異なる周波数を束ねる「MLO」【前編】 (2024年04月22日)
  7. ロジクール、“プロ仕様”をうたった60%レイアウト採用ワイヤレスゲーミングキーボード (2024年04月24日)
  8. あなたのPCのWindows 10/11の「ライセンス」はどうなっている? 調べる方法をチェック! (2023年10月20日)
  9. アドバンテック、第14世代Coreプロセッサを採用した産業向けシングルボードPC (2024年04月24日)
  10. ゼロからの画像生成も可能に――アドビが生成AI機能を強化した「Photoshop」のβ版を公開 (2024年04月23日)
最新トピックスPR

過去記事カレンダー