NVDA情報局(フラグ)スマートフォン用の表示で見るNVDA情報局(フラグ)投資家目線でNVDAを買い煽るためのメモですこの広告は、90日以上更新していないブログに表示しています。2012-10-18GPGPUのお勉強GPUとしての動作に最適化されたGK104。NVIDIAはGPGPU向けに「もう1つのKepler」を準備中グラフィックス業界関係者の間にある,「GPUの性能は数学」(ピーク演算性能は「GPUコアの演算能力×コア数×動作クロック」で求められる。680)にも当てはまる。Coreを効率よく動作させられるよう,半導体設計そのものから見直しを図った」と説明しているが,そのカギを握るのは,Tesla~Fermi世代でNVIDIAが採用してきた「倍速クロック」仕様の廃止だ(表1)。Coreをコアクロック(エンジンクロック)の倍速で動作させることにより,少ない演算器でも高い性能を発揮させるようなアプローチをとってきた。これは,「限りあるトランジスタ数で最大限の性能を引き出すためだったが,このアプローチだと,回路設計がやや複雑になり,消費電力も引き上げる結果になってしまった」(Alben氏)。Coreを搭載できるようにした。680発表時の記事でお伝えしているとおりだ。Alben氏はこの点について「シングルクロック化にあたって,Fermiアーキテクチャ時代と同じ性能を実現するため,回路規模を1.8倍に増やす必要が生じた」と振り返っている。Keplerアーキテクチャにおける省電力化のカギを握るのは,GPUコアのシングルクロック化だとAlben氏。倍速クロックを採用するFermiアーキテクチャと比べて,同じ性能を維持する場合の回路規模は1.8倍になる一方,大幅な省電力化が可能になるというこの発言は要するに,「倍速クロック仕様と同じ性能を等速クロック仕様で実現しようとすると,回路規模は単純計算なら2倍必要になるが,倍速クロック動作に必要なクロック同期回路(ラッチ回路)の数が半分になる。Unit(ロード/ストアユニット)を,そうしなくてよくなるので,回路規模は1.8倍で済む」という意味だ。Coreの数は合計で1536基に達している。GFLOPSへと向上している。Core以外におけるGPU機能の高性能化にも大きく貢献している。680で512KBへと削減してきたことで,SFUやテクスチャユニットの数を増やすための余裕が生まれたことも指摘しておくべきだろう。GK104コアのダイ写真(左)。580からの強化ポイントをまとめたものが表2,3になる。680で採用されたGK104コアを「GPUに最適化されたKeplerアーキテクチャだ」と位置づけている。記憶に新しいという読者も多いと思うが,NVIDIAはTesla~Fermi世代のGPU開発で,GPUコンピューティング(=GPGPU)性能の向上とそれに伴う機能拡張を優先してきた。別の言い方をすると,Tesla~Fermi世代のGPUでは,限りあるトランジスタ数の少なくない量を,GPUコンピューティング専用の回路が占めていたのだ。それに対し,GK104では,3Dアプリケーションを前にしたときの純然たるGPU性能の向上を最優先にした半導体設計がなされている。Ti」よりも小さな294mm2というダイサイズで,新世代のシングルGPU最上位モデルに相応しい3Dグラフィックス性能を獲得してきたというわけなのである。Huang(ジェンスン・フアン)CEOは「GPU開発において,『最先端プロセスで,できる限りのトランジスタを集積し,性能を向上させていく』というスタンスに変わりはない」と述べ,GPUコンピューティング向けに,より多くのトランジスタを集積させたチップの投入を示唆していた。II』を採用する」と述べていることと合致する。Coreが搭載され,HPC向けの最適化が行われるということだ。IIは,(GK104と比べて)性能や電力効率が落ちるものになりそうだ」と,筆者の取材に対して述べている。繰り返しになるが,NVIDIAがKeplerで目指したのは「消費電力あたりの性能」の大幅な引き上げだ。して安定した供給が見込めないTSMCの28nmプロセスで物理的に大きなチップを製造することはリスクが大きすぎるというのもあるので,新しいGPUアーキテクチャを導入するにあたり,NVIDIAが,より多くの出荷量を見込める3Dグラフィックス処理向けGPU(=GeForce)へ最適化する戦略に出たことは,妥当と述べていいだろう。2011年12月時点におけるNVIDIAのGPUコアロードマップ。なっている今日(こんにち)のGPUが直面している課題の1つに,「コア数を増やしてピーク性能を引き上げても,実際のアプリケーションではその性能を活かし切れない」というジレンマがある。最新の3Dゲームタイトルでアンチエイリアシングなどの負荷を大きくしても,GPUのリソースを100%使い切るというケースは滅多にない。Boost」は,まさにこの問題へ対処するものだ。消費電力に余裕があるとき,その余裕を自動クロックアップ分に振り分けるというアプローチによって,消費電力あたりの「持続的」な性能を引き出しているというわけなのである。Technology」にも見られるが,実際,マルチコア化の進む現在の半導体業界では一般的な手法だ。その背景には,「マルチコア化が進んでも,命令の依存関係や,逐次実行するしかない処理がボトルネックとなり,コア数の増加分だけリニアに並列処理性能を上げるのは難しい」という「アムダールの法則」の存在がある。680のベンチマーク結果を見ても,そのことは想像できるだろう。Boostの助けを借りても最大50%程度の性能向上率に留まっていることからは,GPUコアの数を増やしつつ,効率的な処理を行っていくことの難しさが伝わってくる。Alben氏は,「GPUコア数を増やしつつ,その処理効率を引き上げるためにはアーキテクチャに大きくメスを入れる必要性が出てくる」としつつ,「(コンシューマ向け製品となるGPUでは)ゲームタイトルなどの互換性を最優先すると,現在のタイミングでWarpを拡張したり,制御するスレッド数を大幅に変更したりすることは難しい」とも述べていたが,これは示唆に富んだ発言だ。いうのも,GPUコンピューティング向けの製品における,持続的性能を阻害する要素自体は「演算に利用する大量のデータを転送するのに要するレイテンシ」や「複数ノード間における通信の待ち時間」などになり,ゲームタイトルでのそれとは大きく異なるからである。600シリーズ)のような自動クロックアップといった手法を採るより,キャッシュ階層の見直しやアーキテクチャの拡張を優先したほうが,効率はずっといい。Scott氏は筆者の取材に対し,「HPC用途であれば,高性能化のためにアプリケーションを再構築することもいとわないユーザーは多い」と述べていたが,以上の状況証拠からするに,3Dグラフィックス向けのGeForceと,GPUコンピューティング向けのTeslaは,ベースとなるGPUアーキテクチャを共有しつつ,それぞれ別の進化を遂げる可能性が出てきたといえるだろう。IIがGeForceに転用される可能性は高いとも言われている。IIがどのようなラインナップで展開されるのか,興味は尽きない。読者になるはてなブログをはじめよう!booniebichonさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。