「Precision Boost OverDrive 2」で Ryzen 5 5600Xのパワーをさらに引き出してみる
Ryzenは基本的に全モデルにおいて、CPU倍率を手動で変更することによるOC(オーバークロック)をサポートしている。だが、この他にも自動オーバークロック機能として「Precision Boost OverDrive」、略して“PBO”がある。
まず、土台となるべき前提知識をざっくりと解説しておくと、動作中のRyzenのアクティブコア数や消費電力、発熱などの要素から、各コアのクロックを無理のない範囲で適切に引き上げる「Presicion Boost 2(PB2)」という機能がある(Ryzen 2000シリーズより実装)。
さらに、PB2では攻めきれない部分(ブーストの余力)を活用するために、X付きRyzenとX470マザーボードの組み合わせで機能する「XFR2(Extended Frequency Range)Enhanced」という機能も実装された。このPB2+XFR2自体は製品保証範囲内におけるクロックのブースト機能だ。だがさらにブーストさせたいという人向けに実装されたのがPBOであり、こちらは手動OCと同じくユーザーの自己責任による行為となる。
最新の第4世代Ryzen 5000シリーズではこのPBOの後継である「PBO2」が実装されている。機能自体は昨年の段階でアナウンスされていたが、PBO2を利用するにはAGESA 1.1.8.0以降のBIOSが必要であるため、ユーザーは暫く待たされていた。
現在ではAGESAは1.2.0.0までバージョンアップしており、このAGESA 1.2.0.0になってようやく筆者の検証環境でもBIOSの挙動が安定してきた。そこで今回はPBO2でRyzen 5 5600X(6コア/12スレッド、3.7~4.6GHz)の性能がどう変化するのかを検証してみたい。
Ryzen 5 5600Xは発売から4ヵ月が経過しているが、いまだ人気で流通量が不足気味。現時点におけるRyzen 5000シリーズの中でもTDPが最も低く、熱的な余裕があるのでPBO2による性能の伸びしろも期待できる、という点でこのモデル1本に絞って検証した。
PBO2の真髄は「Curve Optimizer」にあり
PBO2については既に過去記事で解説しているので詳しい解説は省略するが、PBO2を利用するメリットはコアの“Undervolt”、即ち電圧下げ機能と、電圧下げ幅を負荷に応じて調整することで、電気的&熱的な余力をつくりブーストを高く&長く持続させる“Curve Optimizer”が実装されたことだ。PBO2を使うには、このCurve Optimizerを使うこととほぼ同義といってよい。
このCurve OptimizerはRyzen全コアに対し一括で適用できるが、コア単位(Per Core)でCurve Optimizer の設定値を変えられる。手間としては後者の方が圧倒的に増えるが、その分CPUのポテンシャルを引き出せる。PBO2のチューニングとは、最終的にはCurve OptimizerをPer Core設定にし、コア毎に最適な値を割り出していく作業になる。果てしなく長い道のりになるが……。
PBO2を実際に使ってみる
では実際にPBO2のPer Core Curve Optimizerを使ったOCの手順を紹介しよう。まず前置きとして、PBO2を利用するには「Ryzen 5000シリーズ」「AMD 400/500シリーズチップセット」そして「AGESA 1.1.8.0以降のBIOS」の3点が必要だ。そこで今回は以下のような構成で検証している。
検証環境 CPU AMD「Ryzen 5 5600X」
(6コア/12スレッド、3.7~4.6GHz) CPUクーラー Corsair「iCUE H115i RGB PRO XT」
(簡易水冷、280mmラジエーター) マザーボード GIGABYTE「X570 AORUS MASTER」
(AMD X570、BIOS F33c) メモリー G.Skill「Trident Z RGB F4-3200C16D-32GTZRX」
(DDR4-3200、16GB×2)×2 ビデオカード AMD「Radeon RX 6800 XT」リファレンスカード ストレージ GIGABYTE「AORUS GP-ASM2NE6200TTTD」
(NVMe M.2 SSD、2TB)、
Western Digital「WDS100T2X0C」
(NVMe M.2 SSD、1TB) 電源ユニット Super Flower「LEADEX Platinum 2000W」
(80PLUS PLATINUM、2000W) OS Microsoft「Windows 10 Pro 64bit版」
(October 2020 Update) とはいえ、いきなりPBO2を使えと言われても何から手を付けていいか分からないはずだ。だが、今回AMDはPBO2を使う際のスタートラインとして、以下のような資料を出している。まずはここからスタートし、徐々に詰めていこう。
実際にGIGABYTE製X570マザーボード「X570 AORUS MASTER」を利用して、PBO2の設定をしてみる。最後に解説するCurve Optimizerの設定値はCPUの個体や検証環境ごとに異なるので、自分で試行錯誤しつつ見つけ出すしかない。
また、言うまでもないがPBO2の利用はBIOS画面で警告が出るとおり、動作保証外の行為となるため、これが原因で故障しても保証は受けられない。全て自己責任の下で実施しよう。
Curve Optimizerの設定はPBO2によるチューニングの核心部分であるが、CPUの個体差や冷却環境などの要素が入り込むため、この設定なら通ると断言できる情報はない。いきなりPer Core設定に挑むと心が折れるかもしれないので、まずはAll Cores設定で感覚を掴んでみるとよいだろう。Negativeの設定値を5あたりから小さくしていって、OSが起動しなくなる限界値を探ってみると良いかもしれない。
Curve OptimizerのPer Core設定での勘所は、Ryzenの“優秀なコア”に対しNegativeで一番小さなカウント(0に近い値)を与え、逆に性能の良くないコアはNegative方向にカウントを増やすことにある。普通のコアに無駄な電力を費やして働かせるよりも、優秀なコアをキッチリ回す方がシングルスレッド性能が伸び、結果的に体感性能の向上に結びつきやすいからだ。
この優秀なコアは「Ryzen Master」や「HWiNFO」のようなユーティリティーを使えば一発で判別できる。ざっくりと全コア同じカウントからスタートし、OSの起動やベンチマークなどで不具合が出たら優秀なコアのNegativeカウントを減らす(0に近づける)ような感じで最適な設定を探すとよいだろう。「OCCT」のような高負荷をかけるツールを使って、高負荷をかけた時にエラーが出やすいコアをチェックするのも良い手だ。
PBO2でRyzen 5 5600Xの性能はどう変化したのか?
では、PBO2でRyzen 5 5600Xの性能がどう変化したかを検証してみよう。今回はRyzen 5 5600Xに対し、以下の6種類のPBO2設定を用意し、定格時からどの程度性能が変化したかを検証する。前述した筆者の検証環境で安定したPer Core設定のみ、優秀なコアであるCore 1とCore 5のみ0で、それ以外は-6。All Coreの-10設定はOSが起動すらしなかったため除外、さらに同じ0でもPositiveとNegativeで違いが出るか見るために+0と-0でテストした。
テストした設定 Ryzen 5 5600X PBO2、-0〜-6(Per Core) Ryzen 5 5600X PBO2、+10(All Core) Ryzen 5 5600X PBO2、+5(All Core) Ryzen 5 5600X PBO2、+0(All Core) Ryzen 5 5600X PBO2、-0(All Core) Ryzen 5 5600X PBO2、-5(All Core) Ryzen 5 5600X 定格 まずは「CINEBENCH R23」のスコアーに影響が出るかどうかチェックしよう。R23になって10分連続で回した後のスコアーを計測するようになった(Advancedに設定すれば従来通り一発取りも可能)ので、10分後のスコアーを比較する。
この結果から、PBO2ではCurve OptimizerのカウントをPositive方向に増やすことはあまり良くないことが分かる。通常のOCで無理めな設定を通す時にはコア電圧上げが定石だが、PBO2のCurve Optimizerでカウントを一律上げるとスコアーが下がってしまう。電圧を増やすことで発熱や電力的な余裕が無駄に消費され、結果として性能が出なくなることを示している。
Negative方向にカウントを増やすと余裕が増えるためスコアーも上がるが、減らしすぎるとOSすら起動しなくなるので見極めが重要。そして今回筆者の検証環境で導かれた“-0〜-6”の設定であれば、一律-5よりもさらに高いスコアーが出たが、一律-6ではCINEBENCH実行中にPCが落ちてしまう不具合に遭遇したので、優秀なコアに対するカウント変更が重要であることがわかった。
続いては「PCMark10」で総合的なパフォーマンスを見てみよう。テストはゲーミング以外の性能を見る“Standard”テストを実施した。
CINEBENCH R23よりもずっと負荷の軽いテストが多いベンチマークだが、どのテストグループ(Essentials/Productivity/DCC)でも全体傾向はCINEBENCH R23に似ている。総合スコアー(Standard)は定格よりもNegative側に寄せた方が高く、Positive側に増やすとむしろスコアーは悪化した。また+0と-0を比べると総合スコアーはわずかに+0の方が上回った。ただしこれは誤差ともいえる差であるため、両者は実質同じ、といっても良さそうだ。
続いては「3DMark」の“Fire Strike”と“Time Spy”でグラフィックのパフォーマンスをチェックしてみよう。
ここで見るべきはCPU性能がダイレクトに効くPhysics/Combined/CPUテストの結果だ。これはCINEBENCH R23と同傾向だが、差が非常に小さく実感できるほどではない。CPUの影響が小さいGraphicsスコアーはCINEBENCH R23では散々だった+5や+10が-5の結果に僅差で勝っているが、これも体感できる差とは言いがたい。
ここからは実アプリに基づいた検証に入ろう。まずは3DMarkのUL社が昨年末リリースしたクリエイター向けベンチ「UL Procyon」から、“Photo Editing”テストを試す。これは検証PCにインストールしたAdobeの「Lightroom Classic」「Photoshop」を実際に動かすので、計測しにくい細かいパフォーマンス検証が可能になる。
ちなみに「Premiere Pro」を動かす“Video Editing”テストもあるが、テスト時間がやたら長く負荷がGPUに寄りすぎる傾向があるのでここでは使用していない。
このテストでは、一部条件下でPCがフリーズしたり、テストが中断したりする症状がみられた。-0で通って+0でエラーが出るのは少々納得がいかない(-0で落ちるのはNegative方向がダメ、と言う点で納得がいく)。
ここで注目したいのは-5はテストが完了しないが、優秀なコアだけNegativeのカウントを小さくした設定(-0〜-6)では通ったという点だ。試行回数に時間的限度があったため-0〜-6なら絶対落ちなかった、と断言できないのが辛いところだが、少なくともAll CoreでNegativeにするよりも、Per Coreで優秀なコア以外のカウントを増やした方が効果的かつ安定することがわかった。
続いては「Media Encoder 2020」を利用したエンコード検証に入ろう。Premiere Proを利用して編集した約3分半の4K動画をMedia Encoder 2020でMP4形式に書き出した際の時間を計測した。VBR 1パスでH.264は平均80Mbps、H.265は平均50Mbps設定とした。
H.264だとどの条件でも完走できたが、H.265では落ちる設定が続発。Per Coreで-0〜-6の設定なら落ちなかったが、CINEBENCH R23で好成績を出した-5や-0はPCが落ちるなどで完走できなかった。All CoreでもPBO2は動くことは動くが、安定動作を狙うにはPer Core設定で詰めた方がより良い結果を出せるようだ。
続いては実ゲームの例として「Rainbow Six Siege」を試す。APIはVulkanとし、画質“最高”にレンダースケール100%を追加。ゲーム内ベンチマーク機能を利用してフレームレートを計測する。CPUパワー勝負なので解像度は1920×1080ドットのみだ。
このテストではAll Coreの-5ではテストが完走しなかったが、All Coreでも-0より上ならば完走した。だがPer Coreにすれば優秀なコア以外を-6に下げても完走する。優秀なコアに対するNegativeカウントを小さくするのはPBO2の勘所といえるだろう。
消費電力やパワー周りを詳しくチェック
PBO2はOCなので、消費電力が増えることは想定内だ。そこでシステム全体の消費電力をラトックシステム「RS-WFWATTCH1」でチェックしてみよう。“アイドル時”とはシステム起動10分後の安定値、“高負荷時”とはCINEBENCH R23のマルチスレッドテストを10分実行した際のピーク値となる。
定格設定が最も消費電力が小さく、PBO2時は+50〜70W程度増えている。PBO2利用時に激増しているのはOCだからでもあるが、PBO Limitを“Motherboard”、つまりCPUのパワーリミットをマザー側の上限に委ねる設定にしていることも関係している。
高負荷時の消費電力をもう少し詳しく見ると、Curve Optimizerの設定値をPositiveの方向に増やすと消費電力が増え、Negativeの方向に増やすと減っている。これはPositiveならコア電圧増、Negativeならコア電圧減であるため、ごく自然な結果といえるだろう。
この消費電力テストを実行する裏で、Ryzen 5 5600XのクロックやCPU温度(tCtl/tDie)、さらにはCPUのEDC/TDC/PPTがどう変動するかも追跡しておいた。各種データの追跡には「HWiNFO」を利用している。
平均実効クロックとはコアの負荷も考慮にいれたクロックだが、CINEBENCH R23のマルチスレッドテストの場合ほぼ100%負荷になるため、平均実効クロックはタスクマネージャ読みのクロックにかなり近づく。
最もクロックが高くなったのは-5および-0〜-6設定の2つ(ともに4.55GHz前後)であり、-0と+0(ともに4.49GHz前後)が続いた。Positiveの+5と+10はむしろクロックが低くなったことがグラフに示されている。+5は4.41GHz前後、+10は4.32GHz前後、定格時は4.28GHzとなった。Positive方向にカウントを増やすとCINEBENCH R23のスコアーが悪化したが、この平均実効クロックを見れば理由は一目瞭然だ。
一方CPU温度だが、定格時は62℃あたりで前後するのに対し、PBO2+Curve Optimizerを有効にしただけで70℃を超え(+0と-0)、Negative方向にカウントを増やすとさらに温度が上がることに注目したい。
逆にPositive側にカウントを増やした(+5と+10)場合は、+0や-0よりも温度が上がらないのが面白い。単純にカウントをPositive方向に増やすと温度が上がりすぎて性能が出ないのかと考えていたが、どうやら温度以外のパラメーターでリミッターがかかるような感じだ。Negative方向にカウントを増やすと一気に温度が上がるのも面白い。
PositiveでCPU温度が上がりきらない理由をEDC/TDC/PPTの推移から求めてみたが、予想に反してここでもPositive方向にカウントを増やすとEDC/TDC/PPTが同時に下がることが確認できた。つまり、カウントをPositive側に盛ることで電力的なリミットに先に到達してしまったため、クロックやCPU温度が上がりきらないという推測をしていたが、実際はEDC/TDC/PPTも抑制されてしまうため性能が出ないようだ。
ただこうなると消費電力が増える説明がつけられない。精査しきれていないデータがあるのか、何か見落としているのかまでは突き止められなかったが、Curve OptimizerのカウントをPositive側に盛るのは良くない、ということだけは見えてきた。
また、Negative側に振った-5設定ではEDC/TDC/PPTともに大きく動くが、-0〜-6設定では開始1分あたりからほぼ安定している。これはCPU温度が上がりきったあたりで温度的・電気的な余裕を使い切っていることを示している。
まとめ:PBO2はRyzen 5000シリーズの パワーを引き出せるが、同時に沼の入り口だ
以上でRyzen 5 5600Xを利用したPBO2の検証は終わりだ。Curve OptimizerのカウントはPositive側に盛るメリットは全くと言ってよいほど存在せず、いかにNegative側に寄せるのかがポイントであることが分かったはずだ。しかしAll CoreでNegativeに盛っても早めに限界が来るので、優秀なコアだけカウントを減らすといったチューニングも必要になる。
コア数の多い上位Ryzenではこの調整が果てしなく長くなるので最適解の導出がとんでもない作業量になってしまうが、Ryzen 5000シリーズの性能をフルに出したい人は挑戦してみるのもよいだろう。今回調べ切れていない部分は後日の課題としたい。
■関連サイト
AMD Precision Boost 2