Ryzen9 5950XでのPBOとCOの効果

これまでの記事
Ryzen9 5950Xの準備編
Ryzen9 5950Xで自作PC (組み立て)
Ryzen9 5950Xのメモリ設定
Ryzen9 5950XでのPBOとCOの効果
Ryzen9 5950Xでベンチマーク
Ryzen9 5950Xのメモリ・キャッシュ帯域



Ryzenシリーズには、熱などの環境の許す限り自動でオーバークロックしてパフォーマンスを引き上げるPBO(Precision Boost Overdrive)が搭載されている。

一方、今回の5000番台では従来のPBOに加えてCO(Curve Optimization)という新機能を追加したPBO2にバージョンアップされている。

そこで、5950XでPBO2の設定を行って性能がどう伸びていくのか、そのとき電圧やクロックはどう変化しているかを確認してみた。





CPUをオーバークロックするには、普通にクロックと電圧を指定していく方法もあるが、その場合にはシングルスレッド時のブーストが効かなくなってしまうので、シングルスレッド実行時の性能が犠牲になってしまう。PBOであれば、シングルスレッド実行時のブーストも問題なく効くので、シングルスレッド実行時の性能とマルチスレッド実行時の性能を両立できる。

PBOでは、CPUの温度や電流、消費電力の制限の中でブースト幅が決まっており、基本的にはCPUが冷えているほどクロックがあがるような仕組みになっている。基本的には、高クロック動作にはより高い電圧が必要となるので、より消費電力(≒発熱)が増加してCPU温度があがっていき、温度あるいは消費電力・電流によりどこかでブーストの限界に達する。

この時重要なのがどのくらいのクロックがどのくらいの電圧で回るかということだけど、PBOでは電圧の設定は基本的には自動でCPUが行う感じにとなっていた。

これに対して、PBO2のCO(Curve Optimization)では、電圧の引き下げ幅が設定可能となっていて、限界近くまで電圧を下げるようなことが可能になっている。電圧の引き下げに耐え切れず不安定になってしまうこともあるが、もし電圧を引き下げても問題なく動作可能であれば、低電圧化の効果で消費電力(≒発熱)が下がったぶん、より高いクロックで動作することが可能になって、性能が上がるという仕掛けになっている。



PBO2はUEFI中から設定することができ、[Settings] > [AMD Overclocking] > [Precision Boost Overdrive]で設定可能となっている。

B550_AORUS_Master_UEFI_5950X_08.jpg

[Precision Boost Overdrive]の中でPBOの細かい設定が可能。PBO Limitsを「Manual」とすると、PBOでの電力(PPT)と電流(EDC, TDC)の上限を指定できる。

B550_AORUS_Master_UEFI_5950X_10.jpg

PBO Limitsについては「Motherboard」という設定もあり、マザーボードの決めている上限値を読み込むことができるようになっている。うちのB550 AORUS Masterでは、PPT=1260W, TDC=700A, EDC=215Aと、EDC以外はなかなかぶっとんだ値が設定された。

5950X_Motherboard_PBO_limit.jpg
[クリックで拡大]



Curve Optimization(CO)についてはこれを選択すると、全コアについて同じ値を設定したり、各コアそれぞれについて値を設定することも可能になっている。

B550_AORUS_Master_UEFI_5950X_09.jpg

Curve Optimization(CO)では、「Sign」で電圧を上げるか下げるか、「Magnitude(カウント)」という値で電圧の変更幅を設定可能となっている。電圧下げの場合には「Sign」を「Negative」に設定して「Magnitude」をいじっていく感じになる。「Magnitude」は1カウントあたり3~5mV程度らしい。

コアごとに設定する場合には、Ryzen Masterの☆や〇がついているコアには控えめな値を設定するのがよいらしい。

5950X_CPPC.jpg
[クリックで拡大] (C04, C07が特性の良いコアらしい)

Ryzen CPUでは、CPUからCPPCで通知される特性の良いコア(= ☆や〇がついているコア)にOSが優先してタスクを振るようになっていているので、使用コア数が少ない時には特にこれらのコアが使われることになり、ブーストが強くかかる。このとき、COを強くしすぎると不安定になってしまうようで、実際試してみても☆や〇がついているコアのCOを強くしすぎると、確かにシステムが不安定になってしまうきらいがあった。



実際にPBO周りの設定を変えていろいろテストした結果がこちら。性能についてはCinbench R20を中心に時折、R23を回して性能が上がっているか下がっているかをチェックしている。

1. が 定格、
2. が PBOを有効にしたもの、
3. 以降が PBO+COのテスト

となっている。

テストCinebenchR20CinebenchR23PBOCO
MTSTMTSTOffsetPPTTDCEDCOther
110510644266191650Disabled-
-----
-
21137563629255Enabled0220180
215000
3116466410-5-10-20
411582636150
511629100-10-15-25
611655150
711633200
8不安定-15-20-30
911702634205150200-10-15-25
1011747643301861648200150190
11不安定-15-18-25


定格ではCinebench R20 MTのスコアが10510 (テスト1)であるところ、PBOを有効にして電力枠を引き上げることで11375まで伸び (テスト2)、その後CO等を細かく調整したところ11747まで伸びた(テスト10)。

5950X_cinebench_r20_04.png5950X_cinebench_r23_04.png


テスト10についてはOCCTで1時間負荷をかけても安定して動作していて、よさげな感じ。

一方、今のところ、☆のコアの下限は-10、その他のコアの下限は-25で、これ以上引き下げてしまうと不安定になってしまうようだ。(テスト8, テスト11)



Cinebench R23のMTテストを実行中のCPUのクロック(右軸:Average Effective Clock)と温度(左軸:CPU (Tctl/Tdie))をHWInfo64で確認したのがこちら。

・Default: 定格 (テスト1)
・PBO: PBOのみ有効 (テスト2)
・PBO+CO: PBO+COで一番良かったもの (テスト10)

5950X_PBO_CO_Clock_CPUTemp.png

定格では4000MHz程度で動作していて、この時の温度が55℃~60℃と280mmな簡易水冷なだけはあって非常によく冷えていた。この状態ならファンの回転数も控えめでよく非常に静かだった。いろいろ冷却に気を使っただけのことはあったみたい。このぐらいならよく言われているように空冷でも十分冷えそう。

PBOを有効にしてPPT等を引き上げることで、4375MHz程度での動作となり、CPU温度が80℃とそれなりに高くなった。80℃を超えてくるとブーストクロックが抑えられる印象。

PBO2でCOを有効にすると、動作クロックが4500MHz程度まで上がる一方で、CPU温度は少し下がって75℃~78℃前後になっていて、電圧引き下げの効果が確認できる。



Cinebench R23のMTテストを実行中のCPUのクロック(右軸:Average Effective Clock)と電圧(左軸:CPU Core Voltage)をHWInfo64で確認したのがこちら。

5950X_PBO_CO_Clock_CPUVoltage.png

定格では4000MHz@1.1V前後なのが、PBOでは4375MHz@1.40V前後、PBO+COで4500MHz@1.34V前後になっている。

COの設定で低電圧化しつつクロックが引き上げられていて、これが性能の向上とCPU温度の低下(=消費電力の低下)に貢献しているようだ。



COによる低電圧化により消費電力を抑制してCPU温度を抑えつつ、性能を向上させることができた。

CPU温度が低いほどブーストしやすい傾向にあるので、PBO2のCOを使った低電圧化によって消費電力が抑えられるとその分さらにブーストする余地が生まれ、より高い性能が引き出せるようになっている。

PBOはシングルスレッド性能とマルチスレッド性能を両立させながらオーバークロックできる素晴らしい機能だが、電圧周りの自由度が少なかったことが難点だったけど、PBO2ではCOという機能によって低電圧化を試せるようになっていて、どこまで安定して動作するか試行錯誤する手間はあるものの、非常に面白い機能だと思う。



Ryzen9 5950X 記事一覧
Ryzen9 5950Xの準備編
Ryzen9 5950Xで自作PC (組み立て)
Ryzen9 5950Xのメモリ設定
Ryzen9 5950XでのPBOとCOの効果
Ryzen9 5950Xでベンチマーク
Ryzen9 5950Xのメモリ・キャッシュ帯域


スポンサーサイト



コメントの投稿

非公開コメント

プロフィール

rigaya

Author:rigaya
アニメとか見たり、エンコードしたり。
連絡先(@を半角にしてください!)
rigaya34589@live.jp
github

最新記事
最新コメント
カテゴリ
月別アーカイブ
カウンター
検索フォーム
いろいろ
公開中のAviutlプラグインとかのダウンロード

○Aviutlプラグイン
x264guiEx 2.xx (ミラー)
- x264を使用したH264出力
- x264guiExの導入>
- x264.exeはこちら>

x265guiEx (ミラー)
- x265を使用したH.265/HEVC出力
- x265.exeはこちら>

QSVEnc + QSVEncC (ミラー)
- QuickSyncVideoによるH264出力
- QSVEncCはコマンドライン版
- QSVEncC 導入/使用方法>
- QSVEncCオプション一覧>

NVEnc + NVEncC (ミラー)
- NVIDIAのNVEncによるH264出力
- NVEncCオプション一覧>

VCEEnc + VCEEncC (ミラー)
- AMDのVCEによるH.264出力
- VCEEncCオプション一覧>

svtAV1guiEx (ミラー)
- SVT-AV1によるAV1出力

ffmpegOut (ミラー)
- ffmpeg/avconvを使用した出力

自動フィールドシフト (ミラー)
- SSE2~AVX2による高速化版
- オリジナル: aji様

エッジレベル調整MT (ミラー)
- エッジレベル調整の並列化/高速化
- SSE2~AVX対応
- オリジナル: まじぽか太郎様

バンディング低減MT (ミラー)
- SSE2~AVX2による高速化版
- オリジナル: まじぽか太郎様

PMD_MT (ミラー)
- SSE2~FMA3による高速化版
- オリジナル: スレ48≫989氏

透過性ロゴ (ミラー)
- SSE2~FMA3によるSIMD版
- オリジナル: MakKi氏

AviutlColor (ミラー)
- BT.2020nc向け色変換プラグイン
- BT.709/BT.601向けも同梱

○その他
x264afs (ミラー)
- x264のafs対応版

aui_indexer (ミラー使い方>)
- lsmashinput.aui/m2v.auiの
 インデックス事前・一括生成

auc_export (ミラー使い方>)
- Aviutl Controlの
 エクスポートプラグイン版
 エクスポートをコマンドから

aup_reseter (ミラー)
- aupプロジェクトファイルの
 終了フラグを一括リセット

CheckBitrate (ミラー, 使い方, ソース)
- ビットレート分布の分析(HEVC対応)

チャプター変換 (ミラー使い方>)
- nero/appleチャプター形式変換

エッジレベル調整 (avisynth)
- Avisynth用エッジレベル調整

メモリ・キャッシュ速度測定
- スレッド数を変えて測定

○ビルドしたものとか
L-SMASH (ミラー)
x264 (ミラー)
x265 (ミラー)

○その他
サンプル動画
その他

○読みもの (ミラー)
Aviutl/x264guiExの色変換
動画関連ダウンロードリンク集
簡易インストーラの概要

○更新停止・公開終了
改造版x264gui
x264guiEx 0.xx
RSSリンクの表示
リンク
QRコード
QR