に引き続き、今度は7980XEをまったりオーバークロック。電力や熱とある程度のバランスが取れそうなところを探っているので、がんがんオーバークロックする人からすると物足りないかも。
基本的には、AVX2を多用するx265にあわせて、AVX2使用時に全コア4.0GHzぐらいまでいければいいかなあ、という気持ちで調整した。
一応
オーバークロックは保証対象外動作なので、自己責任で行いましょう。
構成
BIOSの設定
MainBIOSはデフォルトで入っていた1.10。
OC Tweaker/CPU Configuration 1, 2CPUは全コア4.2GHzとAVX2 Offsetを2、AVX3(AVX512) Offsetを4に指定している。やっぱりAVX2やAVX512実行時にはかなり消費電力が増え、さらに要求電圧も通常よりも高くなりがちなので、無駄に電圧を盛らなくて済むようにするためにも、クロックの上限を下げておくといい気がする。
メッシュ(いわゆるUncore)は3.0GHzまであげてみた。デフォルトだと1.7GHzとだいぶ低く設定されるようだ。
また、TJ-Max Offsetを90℃に指定して、90℃を超えたらThermal Throttlingを発動するようにしている。(デフォルトだと105℃みたい)
さらに、Power LimitをLong 260W、Short 275Wとし、Shortが効く時間を15秒にしてしている。いろいろやっているとこのあたりの電力を超えると熱が厳しくなるので、まあ大雑把にこのぐらいの制限をかけることにした。

OC Tweaker/DRAM ConfiguratonDDR4-3200, 4ch, 4GBx4。16-18-18-38-1。時間がなくてPrimary Timingしか設定していないが、本当は2ndや3rdぐらいまでは詰めたほうが良い。XMPで設定することもできるが、XMPのDDR4-3400ではメモリ電圧やVCCSA、VCCIOなどをすこしいじってみても負荷をかけると不安定だったので、DDR4-3200で設定している。これはマザーの問題というよりはメモリの問題な気がしていて、このメモリでDDR4-3400を安定して達成できたためしがない。
XMPを適用して、VCCSAやVCCIOをAutoのままにしておくと、かなり電圧を盛られる(VCCSA=1.350V, VCCIO=1.200V)ので注意。あまり下限を詰めてはいないけど、少なくともVCCSA=1.100, VCCIO=1.100VでもDDR4-3200なら十分安定している。VCCSAがシビアなHaswell-EやSkylakeなどと比べるとかなり良くなっている気がする。




OC Tweaker/FIVR Configuration 1, 2コア電圧はAdaptiveを使って1.000 - 0.025Vで、メッシュもAdaptive + 0.150V。メッシュのほうは大幅にクロックを上げているので、かなり盛る必要があった。
Adaptiveを使うことで、周波数に応じてコア電圧が変化するようになる。固定電圧の"Override"モードもあり、そちらのほうが安定させやすいかもしれないけど、今回はAVX2/AVX-512 OffsetやPower Limitなどでコア周波数の増減を期待しているので、電圧も自動的に増減してくれるようにAdaptiveを使うことにした。


モードは、Auto / Override / Adaptiveの3通り。
OC Tweaker/Voltage ConfigurationVCCSA = 1.100V, VCCIO = 1.100V, DRAM = 1.350V, さらにFIVRへの入力電圧を+0.100Vしている。
Load Line Calibrationは高負荷時に電圧降下しないようにする非常に重要なオプションだが、Level2ぐらいで十分なよう。


Advanced/CPU ConfigurationCPUのC Stateは明示的にC6を有効にして、アイドル時の消費電力が下がるようにしている。

動作状況
この設定で、x265で4Kエンコードをして、負荷をかけた際の様子を確認してみた。どうやら今のところCPU-Zの電圧はあまり正しくないようで、HWiNFO読みのほうがあっている気がする。
HWiNFO64読みでは、4.2GHzで動いているコアには1.145V前後、4.0GHzで動いているコアには1.025V前後がかかっている。



Asrockのユーティリティから。

x264の4Kエンコードをすると、HWiNFO読みでMax80℃と結構熱い。Package Powerは最大255Wまでいっているようなので、仕方ないかも。各コアを見ると、AVX2 Offsetが効いたり効かなかったりで、結構ばらばらの速度で動作している。たまにAVX-512のOffsetが効き、3.8GHzまで落ちているみたい。
ついでにCinebench。Multi 3908 / Single 191。いまいち延び切っていないのは設定した260WのPower Limitに達してしまったためだと思う。

次に負荷テストということで2時間ほどOCCT Linpack AVXをやってみた。コアの周波数は、たまに3.4GHzまで落ち込むものの、基本的には4.0GHzがキープされ、たまに4.2GHzまで上がっていることがわかる。

CPU温度の推移。CPUはコア数が多くてよくわからないので、グラフの中から一番熱そうなものを選んでみた。
時折スパイクが立って、80℃を超えたりしているものの、基本は70℃前後。まあ18コアもあるCPUで、ダブルグリスバーガーであることを考えれば、それなりに冷えているのかなあ、と思う。

1時間50分ぐらいたったときの様子。

Asrockのユーティリティから、VRMの温度も確認することができ、62℃。このCPUの電力消費が多いことを考えれば、1時間50分もOCCTをして62℃なら許容範囲内だと思う。

AVX2/AVX512などを使うとオーバークロックが難しい
AVX2/AVX512を使うと、通常よりもかなり電力を喰う、というのはよく知られている。そして、AVX2/AVX512を使った場合にも、一定の電力を保てるようにするためにAVX2/AVX3(AVX512) Offsetという設定があるのだと思う。特に、電圧設定でAdaptive使うことにより、クロックが下がったぶん、電圧も自動的に下げることができ、電圧を固定にしておくよりも小さなOffsetで済ませることができる。
ただし、Adaptiveの電圧設定は一般に不安定性が増し、調整と見極めが難しく、とりあえず設定してみてしばらく運転してみて、落ちたら電圧をあげる、という試行錯誤がより長期間必要になるし、また固定電圧と比べると電圧を盛る必要がある傾向にあるので、どちらが良いかは好みの世界だと思う。
今回、動作の安定性を探るのに、
・Cinebench (non-AVX)
・x264 (non-AVX/AVX2/AVX512混在)
・x265 (non-AVX/AVX2混在)
・OCCT Linpack AVX(AVX?)
・y-cruncher (AVX512)
などを使った。
まあCinebenchは楽勝としても、OCCTやy-cruncherなどはOffsetのおかげで比較的すんなりと安定した一方、一番最後まで安定しなかったのがx264だった。
はっきりとはわからないけど、クロックが激しく上下していて、これはどうも中途半端にAVX512が使われているので、AVX512のOffsetが効いたり効かなかったりしているかなあ、と思う。そうすると4.2GHzで動いているときにAVX512がそれなりに使われてしまったりして、不安定になってしまっているのかなと思う。
かといって、上限を4.0GHzにするとかだと、それはもったいない気もして…。
まあ、AVX512 TurboはXeonとかでもかなり低く抑えられていて、高クロックで動くことはあまり想定されていないのかもしれず、そのぶん要求電圧が高いのかもしれない。
というわけで、冷却にもそれなりに気を使った結果、予想以上に余裕を持って「AVX2使用時に全コア4.0GHz」は達成することができきた。Kabylakeでわかっていたことだが、4.0GHzが1.025V前後で安定していて、高クロック域で延びなかった14nmに比べ、14nm+は高クロックでの特性が改善されていて、すごいなあと思う。ダブルグリスバーガーという大きな欠陥も、大きなダイサイズである程度隠蔽できている。
また、メモリもHaswell世代から比べると簡単にDDR4-3200などを達成できるようになっていて、着実に進歩していると思った。
まあ、そうは言っても、どうしたって熱いのと、あとは値段(25万)かなあ…。
あとは、上のような感じで設定した結果、どうもTurbo Boost 3.0が効いていない、ような気がする。(シングルスレッドでも4.4GHzに入らない。)
ちょっともったいないので、どうすればできるのか、もう少し調べてみたい。