cpu.rightmark.org
http://cpu.rightmark.org/
さて、ここから内部解析編である。まずはおなじみRMMTであるが、Coffee Lakeのテストと同様に、設定を利用して割り当てをちょっと変えている。
Ryzen 7 1800X/2700Xでは、Photo38のように8コア/8スレッドに、Core i7-8700K/Ryzen 5 2600Xは、Photo39のように6コア/6スレッドに制限した(Core i5-8600Kは初めからHyperThreadingが無効化されているので何もしない)。
Core i7-8700Kの場合、これをしないと6コアのうち先頭4コア分8スレッドだけが動くことになるし、Ryzen 5 2600Xだと片方のCCXがフルに動いて終わりということになりかねない。そのため、物理コアあたり1つずつThreadを動かす形でテストを行った。
まずRead(グラフ34)である。Core i7-8700Kのみ、早いタイミング(2Thread)で40GB/secの実効転送性能を出しており、ほかはやや遅れる感じになっているが、Ryzen系も3Threadあたりからほぼ40GB/sec近い性能をたたき出している。そこから先の劣化も少ない(逆にCore i系は6Threadあたりでやや低下している)ことを見ると、Readに限りRyzen系はCore iと遜色ないとして良いと思う。
もちろんOverclock動作だとどうなるか、というのはまた別の問題としてはあるが、DDR4-2666だと1chあたりの理論帯域は21.3GB/sec、2chで42.7GB/secになるわけで、理論値の93%程度にあたるスループットを実現できている(実際にはRefreshとかも入るから、これ以上高速化するのはほぼ無理)わけで、Core iとRyzenのどちらも帯域をフルに使い切っていると考えていいだろう。
一方のWrite(グラフ35)はというと、これは従来通りRyzen系がいまいちという状況が再現された形になる。もっともAVX512命令をサポートするCore i系と、これをサポートしないRyzen系では、そもそもWritebackに求める性能が異なるから、これで困らないといえば困らないのかもしれないが、Single Threadあたりの帯域はともかくとして2 Thread以上でも16GB/secどまりというのはコアというよりはメモリコントローラ側の問題と思われる。
しかし、これを改善したらすごく性能が上がるか? と言われると、HPC向けとかを除くと正直微妙な感じはあるので、優先順位的には後回しなのかもしれない。Ryzen 2ではメモリコントローラは何もいじっていないという話であったが、スループットを見る限りこれは正しいようだ。