ニュース
[CES 2015]NVIDIAが公開したホワイトペーパーで探る「Tegra X1の正体」〜本当の演算能力は1TFLOPSじゃなくて512GFLOPS!?
→NVIDIAが公開したTegra X1ホワイトペーパー
(英語。クリックするとpdfファイルのダウンロードが始まります)
Tegra X1がbig.LITTLE構成を採用した理由は?
開発コードネーム「Erista」(エリスタ)と呼ばれてきたTegra X1は,ARMが開発した64bit版CPUコアと,「Maxwell」アーキテクチャのGPU,さらに4K対応のビデオデコーダとエンコーダなどを集積するSoCだ。
下に示したのは,ホワイトペーパーの6ページめにある,Tegra X1の機能構成図だ。
ここで目を引くのは,メモリコントローラがLPDDR4対応だということではなかろうか。LPDDR4対応のTegraは,もちろんこれが初めて。正式発表されたプロセッサとしても,Qualcommの「Snapdragon 810」に続く2製品めとなる。
39ページめのスペック一覧によれば,このメモリコントローラは,LPDDR4-1600を64bitメモリバスでサポートするため,メモリバス帯域幅はフルスペックで25.6GB/sに達する。Tegra K1のメモリコントローラは,フルスペックでもLPDDR3-2133の64bit対応となり,帯域幅は約17GB/sなので,約1.5倍のスペック向上という計算だ。
ちなみにTegra K1の場合,省電力化のため,メモリクロックを落として使われるケースが多く,そのため13ページにあるスペック比較表ではメモリクロック930MHz(≒DDR3-1866)でメモリバス帯域幅は14.9GB/sとなっていた。Tegra X1でどうなるかは何とも言えないが,仮にTegra X1のメモリコントローラがフルスペックで動作するなら,Tegra K1とのメモリスペック差はさらに広がることになる。
CPUは既報のとおり,ARMv8アーキテクチャベースの64bit版コアによる「big.LITTLE」構成となった。具体的には,高性能な「Cortex-A57」コアが4基,省電力・省シリコンスペースの「Cortex-A53」コアが4基だ。負荷に応じてCortex-A57とCortex-A53を使い分けることで,性能と消費電力のバランスを取ることになる。
Cortex-A57は4基のCPUコアで共有する2MBのL2キャッシュを備え,Cortex-A53では4基のコアで共有する512KBのL2キャッシュを備えるというスペックになっているようだ。
従来,NVIDIAはTegraで,同じマイクロアーキテクチャをベースとしつつ,高性能に振ったCPUコアを4基と,省電力性の高さに振ったCPUコアを1基組み合わせた,同社が「4-PLUS-1」と呼ぶCPUコア構成を採用してきた。それが,ARMのbig.LITTLE構成へ切り替わったわけで,Tegra X1は大きな変換と言えるだろう。
「なぜbig.LITTLE構成なのか」について,ホワイトペーパーに細かな説明はないのだが,もともと4-PLUS-1は,TSMCが28mプロセス技術世代で提供してきた「HP(High Power)プロセスとLP(Low Power)プロセスを混在させる技術」を使って,“+1”側コアの電力を抑えるものだった。
やや込み入った話になるが,NVIDIAが4-PLUS-1を最初に導入したときのCPUコアは「Cortex-A9」だった。当時はCortex-A9と同じ命令セットをフルサポートできる他の省電力コアがなかったため,省電力コアもCortex-A9を使用する必要があり,そのためTSMCのプロセス技術を活用して4-PLUS-1を実現することになったという経緯がある。
一方,ARMが初めてbig.LITTLE構成を発表したときには,「Cortex-A15」と同じ命令セットをサポートする省電力設定のCPUコア「Cortex-A7」も用意し,これらを組み合わせて実現した。つまり,プロセス技術に頼ることなく,マイクロアーキテクチャレベルで複数のCPUコアを切り替えての省電力化に対応したのがbig.LITTLE構成というわけだ。64bit版CPUコアであるCortex-A57とCortex-A53でも,この考え方は変わっていない。
Tegra X1では,TSMCが2014年からモバイル製品向けに提供を開始した最新の20nmプロセス技術が使われるのだが,いまのところTSMCの20nmプロセス技術には1つしかないようだ。つまり,20nmプロセス世代では,4-PLUS-1が物理的に使えなかったというのが正解ではないかと,筆者は考える。
ちなみに,ホワイトペーパーの7ページでは,「4-PLUS-1で蓄積した経験を踏まえているため,他社のbig.LITTLE構成採用製品よりも,Tegra X1のほうが低消費電力で高性能」と謳われている。big.LITTLE構成の電力制御はベンダー任せなところがあるので,同じbig.LITTLE構成でもベンダーによって性能や消費電力が変わってくることは大いにありえることだ。
4-PLUS-1もbig.LITTLE構成も,「負荷に応じてCPUコアを使い分ける」という基本的な発想は同じなので,制御面では4-PLUS-1の経験が当然活かされているだろう。
“本当の演算性能値”は512GFLOPS!?
GPUはモバイル向けに手が入った可能性が高い
Tegra X1が採用するGPUコアは,256基のCUDA Coreを集積したものとされる。
2015年1月時点におけるMaxwellアーキテクチャベースのGPUコアは,GeForce GTX 750シリーズで採用される第1世代の「GM107」と,GeForce GTX 980&970に採用された第2世代の「GM204」とがあり,GM204においては若干の拡張が入っている(関連記事)。具体的には,ジオメトリエンジンである「PolyMorph Engine」が第3世代へ進化していたり,メモリ圧縮アルゴリズムの刷新とメモリトラフィックの削減によるメモリ性能の向上があったりといった具合だ。
では,Tegra X1が採用するGPUコアはどちらがベースか,だが,ホワイトペーパーの13ページには,GM204ベースだと明言されていた。つまり,第2世代Maxwellアーキテクチャベースということだ。
翻ってTegra X1の場合,CUDA Core数が256基なので,必然的にSMMの数は2基。そこに「Raster Engine」と,16基のROPユニット,L2キャッシュを組み合わせてGPCを構成する構成となる。GM204ではL2キャッシュ容量が2048KBに達し,ここが特徴となっていたが,Tegra X1の場合,SMMの数に合わせてちょうど8分の1となる256KBである。
なかでも真っ先に指摘しなければならないのが,イベントで大いにアピールされた「1TFLOPS」という演算能力値だろう。
前段でも示したホワイトペーパー13ページめのスペック比較表によれば,Tegra X1が1TFLOPS=1024GFLOPSの演算能力を発揮できるのは「FP16」の場合で,「FP32」のスペックは512GFLOPSとなっている。つまり,GeForce(やRadeon)の演算能力指標として使われる単精度浮動小数点数(=FP32)演算だと,Tegra X1の能力は512GFLOPSでしかないのである。
FP16は「半精度浮動小数点数」と呼ばれるデータ型で,OpenGLをはじめとする3D APIがサポートしている。なので,Tegra X1がターゲットとする市場のことを考えれば,「FP16が高速」というのは確かに意味のある話なのだが,だからといって,それで「演算能力1TFLOPS!」とアピールするのは,ちょっとどうなのかなあという気もする。
ちなみに,CUDA世代以降のNVIDIA製GPUにおけるCUDA Coreは,1クロックあたり最大2つの単精度浮動小数点演算を実行することができるが,半精度浮動小数点数用の特別な演算器は持っていないので,単精度浮動小数点演算と半精度浮動小数点演算の性能は変わらない。KeplerアーキテクチャのGPUを統合したTegra K1もそうだ。
それに対し,Tegra X1では単精度浮動小数点演算性能値が半精度浮動小数点演算性能値のちょうど半分となった。この事実から,Tegra X1のCUDA Coreでは,半精度浮動小数点演算のために演算器が変更されたのだと分かる。
ホワイトペーパーの9ページには,Tegra X1のGPUでは積和演算器がFP16をサポートすることが説明されている。おそらくTegra X1では,CUDA CoreにあるFP32の積和演算器でFP16×2個の演算を行えるよう,手が入ったのではなかろうか。
その場合,FP16では1クロックあたり4個の演算ができることになるため,Tegra X1のGPUでは1クロックあたり4×256の演算が可能になる。GPUの動作クロックが1GHzというのは,Tegra K1は最大950MHzだったことからあり得る線だと思うが,これならFP16で1024GFLOPS,FP32で512GFLOPSと,計算が合う。
NVIDIAはTegra X1のGPUコアが,第2世代のMaxwellアーキテクチャを採用したとアピールしている。確かにそれは間違いではないものの,実際には,モバイル向けにカスタマイズが入った,GM204とは別種の新しいGPUコアと見たほうがいいのではなかろうか。
[CES 2015]次世代SoC「Tegra X1」のグラフィックス性能は現行Tegra K1の1.5〜2倍に。NVIDIAによるデモの詳報をレポート
[CES 2015] NVIDIA,CES 2015で次世代SoC「Tegra X1」を発表。モバイルでも1TFLOPSの時代に
NVIDIAのTegra X1 製品情報ページ(英語)
- 関連タイトル:
Tegra X1
- この記事のURL: