hiroの長い冒険日記

主にコンピュータ周辺の興味を持った内容を綴ります

Ryzen Master で遊んでみる (5) PPT と Benchmark 結果の関係

当日記ではアフィリエイト広告を利用しています

前回までの記事では、PPT Limit を 60 W ~ 155 W まで変化させて Prime95_small の条件で高負荷テストを実施し、CPU 温度がどの程度まで上昇するか確認した。

  • 高負荷テストの中の最大負荷時には、PPT 実際値が 140.0 W、TDC 実際値が 96.2 A で CPU 温度は 86.7 度に達していた。
  • PPT Limit 90 W ~ 130 W の間で、PPT 実際値と Clock は直線関係となっていた。PPT 実際値と CPU 温度も、ほぼ直線関係だった。
  • 現在の環境で Ryzen 7 3800x の全コア負荷時の定格クロック 3.9 GHz に達する時の PPT Limit は 115 W であり、CPU 温度は 73.4 度だった。
  • CPU 温度が 80 度に達する時の PPT Limit は 126 W、TDC Limit は 88 A だった。CPU 温度が 80 度を超えると、Clock の上昇に制限が加わっている様子が見えた。

hiro20180901.hatenablog.com
これらの高負荷テストのどの条件でも、CPU 温度は、Ryzen 7 3800x の最大温度である 95 度を超える事はなく、CPU cooler の冷却が間に合っている事が分かった。夏季にもう一度テストをするまでは、とりあえずは PPT Limit 142 A、TDC Limit 95 A、EDC Limit 140 A の Ryzen 7 3800x の default の条件に設定する事にした。

これまでは、CPU cooler の冷却性能が足りているかどうか、CPU 温度に着目して高負荷を掛けてきた。今回の記事では、PPT Limit と各種 Benchmark の関係を調べ、最適な Watt Performance を発揮する PPT Limit を調べてみた。

今回も記事長めなので目次。

試した Benchmark の種類と測定方法

  • Cinebench R20.060 (Build RBBENCHMARK281795)
  • Cinebench R15.0 (Build RC83328DEMO)
  • Blender benchmark (Ver.2.82, bmw27)
  • CPUz (Ver.1.91.0.x64)

どの Benchmark も様々な環境で実行された結果が豊富に見つかる。今回は、以下の2つのサイトの結果を参考にした。
www.cpu-monkey.com
valid.x86.fr

テスト環境については前回通りである。

  • それぞれの Benchmark を PPT Limit を 60 ~ 155 W の範囲で変更して各5回実行し、Singlecore の結果は最大値、Multicore の結果は平均値を使用した。Blender benchmark のみ1回の測定結果を使用した。
  • Benchmark 実行中の状態を HWiNFO64 (Ver. 6.22-4060) で記録し、CinebenchBlender Benchmark は負荷100%の時、CPUz は負荷95%以上の時の数値を使用して、PPT 実際値や CPU 温度を計測した(理由については後述)。

Ryzen 7 3800x 定格の結果と他サイトの結果の比較

各 Benchmark を Ryzen 7 3800x の定格(PPT Limit 142 W、TDC Limit 95 A、EDC Limit 140 A) で実行した結果が次の表である。

Software 種類 単位 新PC 他サイト
CineBench R20 CPU [pts] 4972  4960
Single [pts] 507  509
CineBench R15 CPU [cb] 2141  2165
Single [cb] 204  208
Blender Bench bmw27 [sec] 170.69  167.6
CPUz Multi [-] 5674  5588
Single [-] 521  544
概ね参考にしたサイトの結果と同様となった。Blender Benchmark の結果のみ若干遅めだったが、複数回実施しても変わらなかった。Memory (3200MHz定格) か Storage (SATA SSD) の影響だろうか。

PPT Limit を変更した場合の結果

各 Benchmark を PPT Limit を 60 ~ 155 W まで変更して実行した結果が次の表である。なお、結果が変化しなくなった箇所では試行を省いた。

PPT Limit CineBench R20 CineBench R15 Blender Bench CPUz
CPU Single CPU Single bmw27 Multi Single
[W] [pts] [pts] [cb] [cb] [sec] [-] [-]
155 4966 508 2131 203 170.46 5626 534.5
150 4909 508 2144 205 169.94 5627 525.9
142 4972 507 2141 204 170.69 5674 521.1
135 4886 506 2149 205
130 4928 506 2136 204
128 4883 508 2151 204 169.65
125 4942 509 2129 205 174.31
120 4867 509 2133 204 173.33
115 4849 511 2110 204 173.74 5632 518.5
110 4789 503 2138 206 176.48
105 4796 513 2124 206 173.69
100 4839 513 2101 206 177.64 5630 514.3
90 4698 507 2048 205 179.26 5562 501.2
88 4665 507 2050 205 181.69 5544 532.1
80 4578 509 1995 205 185.49 5464 522.7
71 4455 509 1957 206 190.57 5313 517.2
68 4382 510 1934 205 193.21 5229 535.2
65 4338 508 1891 206 195.72 5223 536.7
63 4309 513 1879 206 195.18 5168 535.7
60 4221 512 1853 205 197.95 5061 533.5

  • Singlecore の結果は、バラツキはあるものの、PPT Limit を変更しても変わらない。Singlecore を Full に動作させても PPT Limit に届くことはないので、Singlecore のみの能力が要求される用途では、PPT Limit 60 W でも問題ない。
  • Multicore の結果は数値だけで見ても分かりにくいのでグラフで確認してみた。

Multicore の結果 グラフ

f:id:hiro20180901:20200301230601p:plain:w250f:id:hiro20180901:20200301230614p:plain:w250
f:id:hiro20180901:20200301230626p:plain:w250f:id:hiro20180901:20200301230634p:plain:w250

  • Blender Bench の結果は要した時間 (sec) なので右に行くほど遅い結果。他の3つの結果は右に行くほど速い結果。
  • PPT Limit を 60 W から増やしていくと、(もちろんだが) どの Benchmark の結果も良くなっている。
  • ただ、PPT Limit 100 ~ 130 W より小さい領域では直線的に良くなっているのに対して、これよりも大きい領域では、バラツキはあるものの、Benchmark の結果はサチった状態になっている。

Multicore の結果 グラフ (対PPT Limit 142 W比)

より分かりやすくする為に、PPT Limit 142 W の定格の Benchmark の結果を基準として、他の PPT Limit の結果を比率で表してみた。なお、Blender Bench の結果は、他の Benchmark と大小が合うように修正した。
f:id:hiro20180901:20200309225123p:plain:w250f:id:hiro20180901:20200309225133p:plain:w250
f:id:hiro20180901:20200309225205p:plain:w250f:id:hiro20180901:20200309225153p:plain:w250

  • PPT Limit 60 W の条件では、定格の 84~89 %程度の結果となった。マルチコアの恩恵を受けやすい software を低速で動作させる場合には、このような使い方もアリだろう。
  • PPT Limit 120 W 以上で、Benchmark の結果が殆ど変わらなかった。Prime95 や OCCT よりも負荷は軽いと思うが、Ryzen Master や HWiNFO のトレンドを見る限りでは、CPU 温度の制限には到達していなかった。
  • これまでの結果を見る限り、Ryzen 7 3800x の PPT Limit 142 W の上限に達する事なく、別の理由で制限が掛かっているように見える。
  • Benchmark の結果だけでは傾向が分からないので、HWiNFO の結果も合わせて確認した。

Benchmark毎 PPT Limit と Clock、PPT 実際値、CPU 温度の関係

Benchmark の結果がサチっている原因を調べるために、横軸は PPT Limit、縦軸に Clock、PPT 実際値、CPU 温度を取りグラフを描いてみた。
f:id:hiro20180901:20200301202922p:plain
f:id:hiro20180901:20200301202932p:plain
f:id:hiro20180901:20200301202940p:plain
f:id:hiro20180901:20200301202950p:plain

  • CineBench R20、CineBench R15、Blender Bench の結果では、PPT 実際値は PPT Limit 60 ~ 125 W までは直線的に増加、これ以上では変化しなかった。
  • CPUz の結果では、PPT 実際値は PPT Limit 100 W までは直線的に増加、これ以上では変化しなかった。他の3つの結果よりも、サチる PPT 実際値が低かった。CPUz だけは、CPU 負荷も 100% に張り付かずに95% 程度まで一時的に低下していた。他の Benchmark と比較して負荷が低い様に感じた。
  • PPT 実際値が直線的に増加する部分は、PPT = PPT Limit で制限される箇所である。
  • 4つの結果共に、Clock は PPT Limit を増やすと増加するが、4140~4150 MHz で頭打ちとなり、これ以上増加しなかった。Benchmark の実行直後に、一時的に 4200 MHz に達するものの、徐々に減少していた。
  • CPU 温度は 75 ~ 76 度で一定となった。Prime95 や OCCT の高負荷状態よりも 10 度程度低かった。
  • PPT 実際値と CPU 温度がサチった箇所は、Clock が頭打ちとなる部分と一致していた。

Benchmark 間の比較 PPT Limit と Clock、CPU 温度の関係

4つの Benchmark に Prime95 の結果も加えて、PPT Limit と Clock、CPU 温度の関係をグラフにしてみた。

PPT Limit と Clock の関係

f:id:hiro20180901:20200303231827p:plain

  • 同一の PPT Limit では、Clock は Prime95 < Cinebench(R20, R15), Blender Bench < CPUz となった。
  • PPT Limit を増やしていくと、CPUz は Clock が早めにサチっていた。他3つの Benchmark は同じように上昇し、最終的には 4つの Benchmark の Clock が 4150 MHz 付近でサチった状態になっていた。
  • Prime95 は他4つの Benchmark よりも Clock が低く推移した。

PPT Limit と CPU 温度の関係

f:id:hiro20180901:20200303231834p:plain

  • PPT Limit 100 W より低い領域では、Clock が高めだった CPUz の CPU 温度が高かった。ただ、PPT Limit 100 W でサチっていた。
  • 他3つの Benchmark では、PPT Limit を増やしていくと Prime95 と同様の推移を辿り、PPT Limit 130 W 付近でサチっていた。
  • 4つの Benchmark では、Prime95 の最大 CPU 温度の 87 度まで達する事は無かった。

Watt Performance

各Benchmark の Score を PPT 実際値で割った、Watt Performance を算出してみた。(同様の事を試みられているサイトも存在するが、PPT Limit ≠ PPT 実際値なので、PPT Limit で除算するのは間違いだと思う)

以下、Benchmark の種類毎の一覧(一部)とグラフを示す。

CineBench R20

PPT Limit Score PPT W/P
[W] [pts] [W] [pts/W]
142 4972 122.0 40.7
115 4849 115.0 42.2
88 4665 88.0 53.0
60 4221 60.0 70.3

CineBench R15

PPT Limit Score PPT W/P
[W] [cb] [W] [cb/W]
142 2141 121.0 17.7
115 2110 115.0 18.3
88 2050 88.0 23.3
60 1853 60.0 30.9

Blender bmw27

PPT Limit Score PPT W/P
[W] [sec] [W] [sec/W]
142 170.7 120.3 0.8
115 173.7 114.9 0.9
88 181.7 88.0 1.1
60 198.0 60.0 1.4

CPUz

PPT Limit Score PPT W/P
[W] [-] [W] [-/W]
142 5674 102.2 55.5
115 5632 98.5 57.2
88 5544 88.0 63.0
60 5061 60.0 84.3

グラフ

f:id:hiro20180901:20200310230424p:plain

結果

どの Benchmark の結果でも、PPT Limit 60 W の結果が最も Watt Performance が良かった。PPT Limit 142 W に対して 150 ~ 170 % 程度、効率よく処理できていた。

同じ結果を得るのに時間を要するものの、多コアをゆっくり回す方が懐に優しい事が分かった。

まとめ

  • PPT Limit を 60 ~ 155 W まで変化させて、4種類の Benchmark を実行してみた。
  • PPT Limit 142 W の定格では、Blender Bench を除いて、他サイトと同様の結果が得られた。Blender Bench が劣る結果になった理由は不明だが、Memory か SSD の能力が劣っていると推測する。
  • PPT Limit 60 W から増やしていくと、Benchmark の結果は直線的に良くなっていた。この領域では、PPT 実際値 = PPT Limit で制限されていた。
  • しかし、PPT Limit 100 ~ 130 W を超えた領域では、バラツキはあるものの、Benchmark の結果はサチった状態になっていた。
  • HWiNFO で調べると、PPT 実際値、CPU 温度、Clock がサチっていた。CPU 温度は 75~76 度、Clock は 4150 MHz 程度。
  • CPU 温度は、Prime95_small の最大値だった 87 度や、Ryzen 7 3800x の上限 95 度には達していなかった。
  • Clock は、基本クロックの 3900 MHz は超えているものの、CPU 温度に余裕があっても 4150 MHz 以上にはならなかった。Benchmark 開始直後に 4200 MHz に達する事はあっても、徐々に減少していた。
  • Benchmark Score を PPT 実際値で割った Watt Performance は、PPT Limit 60 W の結果が最も良かった。

これらの結果から、以下のように推測する。

  • CPU 温度 95 度の他に、全コア負荷時に Clock 4.2 GHz の limit がある模様。こちらのサイトにも、"Turbo (8 Cores): 4.20 GHz" と記載があるので、Clock 制限が入っているのだろう。

www.cpu-monkey.com

  • 冷却が不足する場合にはCPU 温度、冷却が間に合っている場合には PBO か Clock の制限が入るようになっている模様。

現在の環境では、冷却が間に合っているようなので CPU 温度の制限は掛からず、負荷の重い Prime95_small では PBO の制限、負荷の軽い Benchmark であれば Clock の制限が入っていた。

Watt Performance は PPT Limit を下げた方が良い結果となった。長時間を要する処理を行う場合には、PPT Limit を下げて実行する事を考慮する。