NVIDIA製GPUをオーバークロックして搭載したGPUの消費電力を、Power Targetをパパッと弄って省電力化してしまおうという話です。

PowerTarget_01


ハイエンドGPUに電力効率を期待する人だっているんです


 高い消費電力と発熱で知られたFermiの後、NVIDIAが投入したKepler、Maxwell、Pascalはいずれも前世代を大きく上回るワットパフォーマンスを実現し続けてきました。

 かつては、「ハイエンドビデオカードについて語るべきは絶対性能であり、消費電力やワットパフォーマンスを話題に上げるなど無価値」みたいな時代もありましたが、現在はウルトラハイエンドでもワットパフォーマンスは無視できない要素のひとつとなっています。

 ユーザーの期待に沿う形で進化してきたNVIDIAのGPUですが、ボードベンダーは競合他社とのパフォーマンス競争を制するため、GPUをオーバークロックすることで性能を高めたオーバークロック仕様のビデオカードを中心にラインナップしています。このようなオーバークロックモデルでは、性能と引き換えに消費電力が増大し、NVIDIA GPUの魅力であるワットパフォーマンスを犠牲にするというデメリットがあります。

 メーカーオリジナル仕様のよく冷えるGPUクーラー、リファレンスモデルよりずっと豪華な基板構成、なんとも魅力的なハードウェア構成なのに悲しいかなオーバークロックされている。というワットパフォーマンス派の嘆きが聞こえてきそうな昨今、大飯食らいなオーバークロックモデルのピーク電力を抑えてやろうというのが今回の趣旨です。



省電力化の前にGPUの動作をざっくり説明


 どうやって省電力化するのかを説明する前に、現在NVIDIA製GPUの動作クロックの仕様について軽く説明しておきましょう。

 現在のNVIDIA製GPUはGPU Boostと呼ばれる自動オーバークロック機能を備えており、電力と温度が許容範囲内にある場合、GPUクロックをベースクロックよりも高いクロックで動作させます。この機能をサポートしているNVIDIA製GPUには、「ベースクロック」と「Boostクロック」という2つのクロックが仕様として記載されています。

 ちょっと面倒なのは、「Boostクロック」という数値がGPU Boost時の最大動作クロックを示しているものではないという点です。GPU Boost時の典型的な動作クロックの目安といった感じの数値で、実際にはより高いクロックで動作したりします。ややこしいですね。

 GPU Boostが作動すれば、基準となる電力または温度の範囲内でGPUクロックがオーバークロックされる訳なのですが、この辺りにオーバークロックモデルの消費電力がリファレンスモデルより大幅に高くなってしまう要因があります。

 前述のとおりオーバークロックをすれば、性能向上と引き換えに消費電力が増加します。オーバークロックで消費電力が増加してもGPU Boostを機能させるためには、動作を左右する基準のひとつである「電力」の枠を拡大しなければなりません。

 電力の枠を拡大した結果、リファレンスモデルよりも大きな電力を許容するように設定されたオーバークロックモデルは、拡大された電力の許容値内で存分にクロックを引き上げ、そのためにガツガツ電力を消費しているのです。


 さて、ではどうやって消費電力を引き下げるのか。その答えは、GPU Boostが基準とする電力許容値(Power Target)を引き下げることで、GPU Boostの動作に消費電力という枷をはめ、ピーク電力を抑制するというものです。

 GPU Boostの挙動を左右するPower Targetは、多くのボードベンダーが自社のGPU向けに用意しているユーティリティを活用することで、パーセント単位での調整できます。

GIGA-OCGURU
GIGABYTEのOC GURU II




実験台はGIGABYTE GV-N970G1 GAMING-4GD


 Power Targetを弄った時の動作の変化を確認するため、実験台を用意しました。

 今回、実験台になってもらうのは、Maxwell世代のハイエンドGPUであるGeForce GTX 970を搭載したGIGABYTE GV-N970G1 GAMING-4GD。

 リファレンス仕様のGPUクロックは、ベースが1,050MHz、Boostが1,178MHzであるGeForce GTX 970ですが、GV-N970G1 GAMING-4GDでは、ベースを1,178MHz、Boostを1,329MHzまでオーバークロックして搭載しています。

PowerTarget_02

GPU-Z

 このカードのPower Targetは、先に紹介したOC GURU IIで調整できるわけですが、実際のところどの程度の電力が許容値として設定されているのかをチェックしてみました。

 方法はGPU-Zを使ってビデオカードのBIOS(VBIOS)を抜き出し、それをMaxwell II BIOS Tweakerというソフトで読み取るというもの。Maxwell II BIOS Tweakerの「Power Table」を開いて該当箇所を見てみると、以下のような数値が入力されていました。

GIGA-PT

 GeForce GTX 970のTDPは145W。対してGV-N970G1 GAMING-4GDがPower Targetの100%として設定している数値は250W(250,000mW)。

 リファレンスモデルのPower Targetがいくらなのかは知りませんが、GV-N970G1 GAMING-4GDではリファレンスモデルのTDPより+105Wまでの電力消費をGPU Boostに許容しているということが分かります。

 ちなみに、ここで表示されている「40%時100W」と「112%時280W」というのはユーティリティで設定可能な最小値と最大値です。VBIOSの数値を任意の値に書き換えることで、調整範囲を拡大できたりもするらしいです。リスキーなのでお勧めはしません。



Power Targetを弄った結果は……


 長すぎる前置きを経て、いよいよテストです。

 テスト環境は以下のものを用意しました。

テスト環境

 実施するテストの内容は、PowerTargetを100%(250W)と60%(150W)に設定した状態で、3DMarkのFireStrike Ultra(3,840×2,160ドット)を実行するというもの。なお、温度の影響を受けたくないので、ファンの回転数は100%で固定しています。

 ベンチマークスコアの他に、Graphics Test 1実行中の最大消費電力、ベンチマーク実行中のGPUクロックの推移を記録(GPU-Zを利用)して比較しました。

3DM

 3DMarkのベンチマーク結果では、60%設定時のスコアは93%前後となりました。下がってはいますが、電力ターゲットを40ポイントも引き下げた割には差が少ないかなって気もします。

なお、CPUベンチの結果であるPhysicsスコアは意味がないうえグラフが見づらくなるので省略しました。

電力

ワットパフォーマンス

 GPU負荷の高いGraphics Test 1実行中の最大消費電力は、268Wから204Wまで低下しました。100%設定時に比べ、約76%の消費電力で、約93%のスコアを記録したということになります。

 3DMarkのスコアをGraphics Test 1実行時の最大消費電力で割った「1Wあたりのスコア」では、およそ1.2倍のスコアとなっており、ワットパフォーマンスが大きく改善していることが分かります。


GPUCLK

 3DMark実行中のGPUクロックをグラフ化してみると、100%設定の青い線が最高クロック(1,367MHz)で張り付いている時、60%設定の緑の線が低いクロックで波打っているのが確認できます。ビデオカードの消費電力がPower Targetに達したため、GPU Boostがクロックを下げざるを得なくなっていることが確認できますね。

 このとき、TDPに対してPowerTargetがどのように変化していたのかをまとめたものが以下のグラフです。

WpTDP

 ここでの100%とは、VBIOSに書き込まれているTDP(250W)のことです。

 60%設定がTDP比60%を超えないように制御されていることが確認できる一方で、Power Targetを100%に設定していても250Wまでは到達していません。このことから、標準の設定では性能を最大限発揮できるよう、Power Targetが枷として機能していないということがわかります。



OCモデルのワットパフォーマンスを上げたいならPower Targetを下げよう!


 以上、NVIDIA GPUを載せたオーバークロック仕様のビデオカードは、Power Targetを引き下げれば手軽に消費電力下げられるうえ、ワットパフォーマンスも改善しますって話でした。

 Power Targetに加えて電圧やクロックも弄ればより効果的でしょうが、GPU Boostの挙動はかなり複雑なので、あんまり弄ると安定性を損なうのでお勧めできません。Power Targetの変更は、安定性にかかわる部分に影響を及ぼさないってのが一番大きな魅力ですね。安定性を欠いは元も子もありませんから。

 というわけで、もしOCモデルしか選択肢がないという状況なら、Power Targetの変更で消費電力とワットパフォーマンスの改善を狙ってみましょう。