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

定格では[email protected]前後なのが、PBOでは[email protected]前後、PBO+COで[email protected]前後になっている。

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のメモリ・キャッシュ帯域


コメントの投稿

非公開コメント

No title

お手数だとは思います。
が、rigayaさんであれば理論だてて解説してくれる能力があると
思い質問させていただきます。
ザックリと言って 5950X は 5800X の倍ですか?
x264 のエンコードが半分の時間で済みますか?

Re: No title

> ザックリと言って 5950X は 5800X の倍ですか?

x264等のエンコードでは 5950X は 5800X の倍まではいかず、1.4~1.6倍程度にとどまると思います。

理由としては、いくつかありますが主には下記のとおりです。

・エンコードでは16コア/32スレッドを常に使い切るのは困難

・5950Xは8コアx2CCD構成であり、CCD間通信のペナルティが発生する

・5800Xと5950Xの電力枠(PPT)は同じ142Wであり、5950Xをフル稼働させればクロックは抑えめとせざるを得ない

下記記事では、5950Xの稼働コア数を8コアにした疑似的な5800Xと比較しているのでチェックしてみてください。
https://rigaya34589.blog.fc2.com/blog-entry-1321.html

No title

素早い返答と内容に感謝します。
事前にそのような事で考えていたのですが5950Xを所有して
いないので確証をえられなくいました。
結局、貧乏だからが原因ではありますが私の場合
使い切りたい人間なので5800Xで良かったと思います。
(AVIUtlで編集ポイントを探りやすくするためにいったん
FFMPEGでUtVideoに変換してますが、4790Kでも書きだしで
M.2SSDがボトルネックになっているんですがね)
重ね重ねお礼申し上げます。
プロフィール

rigaya

Author:rigaya
アニメとか見たり、エンコードしたり。
連絡先: [email protected]
github twitter

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

○Aviutl 出力プラグイン
x264guiEx 3.xx
- x264を使用したH264出力
- x264guiExの導入紹介動画>
- x264guiExの導入
- x264guiExのエラーと対処方法>
- x264.exeはこちら&gt

x265guiEx
- x265を使用したH.265/HEVC出力
- x265guiExの導入>
- x265.exeはこちら&gt

QSVEnc + QSVEncC
- QuickSyncVideoによるHWエンコード
- QSVEnc 導入/使用方法&gt
- QSVEncCオプション一覧&gt

NVEnc + NVEncC
- NVIDIAのNVEncによるHWエンコード
- NVEnc 導入/使用方法&gt
- NVEncCオプション一覧&gt

VCEEnc + VCEEncC
- AMDのVCE/VCNによるHWエンコード
- VCEEnc 導入/使用方法&gt
- VCEEncCオプション一覧&gt

svtAV1guiEx
- SVT-AV1によるAV1出力
- svtAV1guiExの導入>
- SVT-AV1単体はこちら&gt

VVenCguiEx
- VVenCによるVVC出力
- VVenCguiExの導入>

ffmpegOut
- ffmpegを使用した出力
- ffmpegOutの導入>


○Aviutl フィルタプラグイン
自動フィールドシフト
- SSE2~AVX512による高速化版
- オリジナル: aji様

clcufilters 
- OpenCL/CUDAのGPUフィルタ集
- 対応フィルタの一覧等はこちら

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

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

PMD_MT
- SSE2~AVX512による高速化版
- オリジナル: スレ48≫989氏

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

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

○その他
Amatsukaze改造版
- AmatsukazeのAV1対応版

tsreplace
- tsの映像のみを置き換えて圧縮

rkmppenc
- Rockchip系SoCのhwエンコーダ

fawutil
- FAW(FakeAACWave)⇔aac変換
- 二重音声の取り扱いにも対応

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 (ミラー)
SVT-AV1 (ミラー)

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

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

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