x264とゲームのベンチマークとかでどのくらい戦えるか。まああちこち見てもやはりゲームベンチが中心でエンコードのベンチマークは(あたりまえだけど)あまり見ないので…。
一応このケースはMini-ITX用だけどATX電源と2スロットなGPUも下に入る(いれてないけど)。HDDも入るけど冷却と騒音考えるとあまり入れたくない感じなので、やっぱりSSDを使いたいところ。そこそこ良いケースだと思う。あ、CPUクーラー鎌アングルだけど、これ普通はソケットに乗らないので真似しないでくださいな。
環境と設定
どんな比較をやるかというと、いつもどおりx264と、珍しくゲームも少し。比較対象は、まあ最上位対決ということで、i7 4770K。i5と比べるべきかもだけど、持ってないし。
OS | Win7 x64 | Win7 x64 |
---|
CPU | A10-7850K | Core i7 4770K |
---|
メモリ | G.skill F3-2400C11D-8GAB | GSkill F3-2600C10Q-16GTXD |
---|
マザーボード | Asrock FM2A88ITX-X+ | Asrock Z87 Extreme4 |
---|
電源 | ENERMAX EPM600AWT | ENERMAX EPM600AWT |
---|
GPU | 内蔵 | 内蔵 (HDG4600) |
---|
SSD | Intel 330 240GB | Plextor M5P 256GB |
---|
コア数 | 2M/4T | 4C/8T |
---|
動作周波数 | 4397 MHz | 4400 MHz |
---|
動作電圧 | 1.41V~1.47V | 1.325V |
---|
倍率 | 104.7×42 | 100.0×44 |
---|
GPU周波数 | 998 MHz | 1250 MHz |
---|
メモリ速度 | DDR3-2496 2ch | DDR3-2600 2ch |
---|
理論帯域 | 39.9 GB/s | 41.6 GB/s |
---|
レイテンシ | 11-13-13-31-2 | 10-12-12-31-2 |
---|
メモリ容量 | 8GB | 16GB |
---|
ドライバ | Catalyst 13.30 | 10.18.10.3345 |
---|
特に書いてなければ、上の設定で比べていく。
どちらも"K"付きCPUなので、オーバークロック可能。両方ともBIOSから全コア4.4GHzに達するようにした。A10-7850Kの定格は前世代のA10-6850Kより低いのだけど、まあよく考えるとK付きなら定格とかどうでもよかったりする。重要なのは実際の発熱と、どこまで安定して動くか。今回は
前書いたようにオーバークロック用のマザーボードでないことと、Mini-ITXなケースなために4.4GHzが限界ぽい。
GPUは7850Kは998MHz(BIOS設定は960MHzで、そこからBCLKを100→104にあげてある)に設定。このGPUのオーバークロックの効果はあとでゲームのベンチマークで確かめた。i7 4770Kはそのままで1250MHz。
メモリについては4770Kのほうがちょっといいメモリで、円安本番になる前に3万円ぐらいで買ったDDR3-2600 16GB (CL=10)。7850Kの方のメモリは、最近買ったDDR3-2400 8GB(CL=11)で…1万3000円ぐらい。CL値がちょっと大きいのが難点(CL=10 @ DDR3-2400では動かない)。
7850Kのほうのマザーボード(FM2A88ITX-X+、BIOS 2.10)はDDR3-2400までしか設定できないので、さらにBCLKを100から104まで上げてさらにクロックを上げている。ちなみにBCLK=105ではメモリに関係なく不安定なので、BCLKは104が限界みたい。このマザーだと今のところDDR3-2500は超えられないと思う…。
x264 fullHD エンコード
アニメのOPをインタレ解除してエンコードしたmp4をソースにして、フィルタ無しで再エンコードした速度を測定。
共通環境Aviutl 1.00
x264 8bit/10bit x64 r2391 (たくあん氏ビルド)
x264guiEx 2.04
lsmashinput.aui r694 (POP氏ビルド)
ソース未確認で進行形 OP H.264/AVC 8bit 1920x1080p 23.976fps (1分30秒, 2155フレーム)
x264 オプションプリセットつけるだけ
測定いつもどおり一発勝負
結果
Kaveriはx264苦手なんでしょうがないかも。ただOpenCLが効かないのがやはり寂しいところ。
i7 4770Kと比べると、軽い設定よりは重い設定のほうが、そして8bitよりは10bitのほうが差がついてしまうのは、CPU使用率が上がってくるため。i7 4770Kは論理8コアなので、これを活かしきれるぐらい重くなってくるとより優勢になる。
Aviutl fullHD エンコード
今度は少しフィルタもかけてアニメ24分をエンコード。
共通環境Aviutl 1.00
x264 8bit x64 r2391 (たくあん氏ビルド)
x264guiEx 2.04
m2v.aui 0.7.5a
ソース桜Trick #05 MPEG2 1440x1080i 29.97fps (約24分, 43744フレーム)
フィルタ自動フィールドシフト高速化版 7.5a+12、アニメ、24fps化
透過性ロゴ
リサイズフィルタ (1440x1080 → 1920x1080)
7850KではXOP版、4770KではAVX2版
x264 オプション (適当)--preset slow --crf 20 --qcomp 0.7 --vbv-bufsize 31250 --vbv-maxrate 25000 --aq-strength 0.4 --psy-rd 1:0.2 --keyint -1 --min-keyint 4 --bframes 5 --subme 9 --ref 4 --trellis 2 --colormatrix bt709
測定いつもどおり一発勝負
結果 (所要時間) | A10-7850K | i7 4770K |
---|
所要時間 | 41分11秒 | 22分50秒 |
---|
結果 (fps)
う~ん。やはりフィルタを多少かけても大きくは変わらない。
ゆめりあ
お手軽ゲームベンチ。1024x768の最高品質。

当然、Kaveri大勝利。てかすごい差だな。
FFXIV: 新生エオルゼア ベンチマーク キャラ編
今度は、重めのゲームベンチ。お手軽さからFF14のベンチマークを使用。設定は1920x180、フルスクリーンの「最高品質」で一発勝負。
このベンチだけは、GPUの動作周波数やメモリの動作周波数がどのくらい影響を与えるか確認するため、それぞれ変えてベンチマークした。
1. CPU 104.7x42 / GPU 998 MHz / メモリ 2496MHz (BCLK上げ)2. CPU 100x42 /
GPU 960 MHz /
メモリ 2400MHz3. CPU 100x42 /
GPU 960 MHz / メモリ 1600MHz
4. CPU 100x42 / GPU 720 MHz /
メモリ 2400MHz5. CPU 100x42 / GPU 720 MHz / メモリ 1600MHz

まず、1と6で比べると、A10-7850Kがi7 4770Kに圧勝…というわけでさすがAMD。やはりGPU強い。「最高品質」の設定なのでどちらもあまり快適とは言いがたい動きだけど、4770Kと比べると目に見えて良い感じだ。
で、GPU/メモリのクロックを変えて比べると、メモリ速度が全力で足を引っ張ってるなあ、ということがわかる。
例えば、定格(5)からメモリをクロック上げした場合(4)と、GPUをクロック上げした場合(3)。GPUだけクロック上げ(5 → 3)しても全然スコアが伸びないのに対して、メモリのクロック上げただけ(5 → 4)で大幅にスコアが伸びている。また、メモリの速度を上げた状態では、GPUのクロックを上げるとそれなりにスコアを上積みできている(4 → 2)。
結局メモリでスコアが決まってしまっていて、その分高速メモリを使うとAMDの優秀なGPUが真価を発揮できるようになるみたい。こうなってくると、DDR4とかQuad-Channelとか、いっそ増設できなくてもいいからGDDR5とか…。
冷却
A10-7850KMiniITXなケースと大した風量の出ないファンでもCPUコアもまだ余裕
i7 4770K24cmラジエータ付き簡易水冷でもCPUコアだけ熱い、そのくせ廃熱は涼しい
…どんだけ熱こもりやすいんですか、Haswellちゃん。というわけで冷却はKaveriのほうが楽。個人的に重要なのは冷却のしやすさであって絶対的な発熱量そのものではないです。
まとめ
KaveriはCPUコアがSteamrollerになり、デコードがちゃんとコアごとに行えるようになるなど、いろんな改良がされている。ただ、残念ながら、SIMD演算器が2コアで共有され、SIMD命令のレイテンシもスループットも微妙、というのは以前から変わっていないみたい。SIMD演算が多めのx264エンコードでは、SIMD命令を捌き切れないせいで、あまり速度が出ないんじゃないかなと想像できる。
まあ値段的にCore i7と比べるな、というのはあるだろうけど、同じクロックでの「Steamroller 2スレッド in 1モジュール」vs「Haswell 2スレッド in 1コア」の様子が見えてくると思う。
一方、KaveriのGPUはさすが。Haswellに比べ相当演算力が高い。メモリが律速になる場合が多いはずなので、高速なメモリを使うことで、より真の実力を発揮できると思う。それに試していないけどMantleを使うとCPUにより律速になってしまっている場合でもGPUの性能を発揮できるようになるということなので、CPUでの不利をカバーできるのかもしれない。またドライバがより信頼できる…というのも重要だったりする。(というかIntelドライバは謎が多すぎる)
実際、SimCityとか、自分のやるゲームが普通に動いたんで満足。しかもMini-ITX用にしては大きめなケースとはいえ、小さなスペースに収められたので嬉しい限り。
Kaveriへの期待とか ~HSA~
Kaveriの最大の特徴は、HSAへの対応で、特にメモリ空間が共通となったことは非常に大きいと思う。
これまで、GPUに計算をさせる場合、たとえAPUのように共通の物理メモリ上にデータがあったとしても、計算用に使うデータをGPU用に確保したメモリに一度コピーしてやる必要があった。
つまり、大雑把には
計算用データをCPU用メモリからGPU用メモリにコピー
↓
GPUで計算
↓
GPU用メモリにある計算結果をCPU用メモリにコピー
みたいな手順を踏む必要があった。
こうやってメモリコピーするプログラムをいちいち書くのはそれはそれでちょっと面倒なのだけど、まあそれはいいとして、問題はこのメモリコピーによってなかなか全体の速度が上がらないということだと思う。
メモリコピーにはある程度時間がかかるので、素直にさっきの例のようなプログラムを書くと、メモリコピーしている間、CPUとGPUはほとんど遊んでいることになり、なかなか速度が出ない。そこで、メモリコピーしている間に他の計算をさせるような、CPUやGPUがなるべく遊ばないような工夫が必要になり、面倒なことになる。
また、本来GPUは(うまくいけば)大量の演算を一気に進めることができるので、その分大量のデータを演算器に送る必要がある。そのため、GPUの演算力を引き出すにはメモリ帯域が重要になってくる。ところが、いちいちメモリコピーをやってるとメモリ帯域を圧迫し、なかなか性能が出なくなってしまう。
HSAへの対応が進み、このメモリコピーが不要になることで、こうした問題が解決できる可能性が高い(どうプログラム書くのかはよくわからないけど)。GPGPUはいままで限られた計算でしかその性能を十分に発揮できなかったけど、HSAによりGPUを使った計算の可能性が広がると思う。HSAを活かしてAPUだと高速、みたいなソフトがもっと出てくると、面白くなってくるんじゃないかと。
一方で、IntelはAVX-512でSIMDの演算力をさらに引き上げるみたいなので、IntelがCPUのSIMDから、AMDがGPUから演算力を強化しようとしていて、対照的で面白い。いずれにしても増えた演算力を有効に活用するにはメモリ速度の向上が不可欠だと思うけど、DDR4はまだ遠い。
最近PCは演算力が頭打ち気味になってる気がする (もちろん省電力方面にはだいぶ進化しているけど)。そんな中、それを打破するのはAMDのHSA、IntelのSIMD、それともNVIDIAのCUDA、どれなのだろうか…。