テストレポート
Kaby Lake-S「Core i7-7700K」基礎検証レポート。注目すべきは絶対性能ではなく,電力対性能比だ
1月4日に発表となったKaby Lakeの製品ラインナップや概要は別記事にまとめているので,参照してもらえればと思うが,Skylake世代と比べて,アーキテクチャ上の変更や改善点のアピールがとくにない点は強調しすぎてもしすぎることはないだろう。
Skylake世代と比べた場合,Kaby Lake世代が持つ最大の特徴は,改良版14nmプロセス技術である「14nm+」を用いて製造される点だ。Intelによると,14nm+プロセス技術の採用により,CPUの絶対性能や消費電力対性能比の向上を実現しているとのことである。
つまり,採用する製造プロセスの改良を除くと,基本的にはSkylake世代の直線的な後継製品であって,実際,既存のLGA1151パッケージと互換性を持ち,従来のIntel 100シリーズチップセット搭載マザーボードでもBIOS(UEFI)をアップデートすれば利用可能だ。
なお,4Gamerでは別途,Kaby Lake-Sがゲーマーに何をもたらすのか,ゲームを軸にしたレビュー記事も掲載している。「ゲーム用途でどうなるのか知りたい」場合は,そちらを参照してもらえれば幸いだ。
「Core i7-7700K」レビュー。最大クロック4.5GHzの倍率ロックフリー版Kaby Lake-Sはゲーマーに何をもたらすか?
クロックが高くなり,DDR4-2400に対応したKaby Lake-S
Kaby Lake-Sのダイ写真と各ブロック |
Kaby Lake世代の倍率ロックフリー(Unlocked)版プロセッサではオーバークロック周りに強化が入って,コア電圧設定を行いやすくなり,AVX Offset Ratio設定も行えるようになった |
i7-7700Kは4コア8スレッド対応で,動作クロックは定格4.2GHz,「Turbo Boost Technology」(以下,Turbo Boost)有効時に最大4.5GHz,共有L3キャッシュ容量は8MBというスペックである。今回,比較対象に用意したSky Lake-S世代の最上位モデル「Core i7-6700K」(以下,i7-6700K)と比べると定格クロックで200MHz,最大クロックで300MHz高くなっているわけだ。
末尾Kのプロセッサナンバーを持つことから想像できるとおり,i7-7700Kは,倍率ロックフリー版である。プロセッサの基本的な特性を見ることが目的の本稿で,倍率変更によるオーバークロックについて深く触れるつもりはないが,Intelは,Kaby Lake-Sで,オーバークロック耐性の強化も謳っている。
具体的には,コア電圧の最適化により,コア電圧の調整が行いやすくなっているとのこと。また,オーバークロックに対してクリティカルなAVX命令実行時のクロック比を個別に設定する「AVX Offset Ratio」を設けたのも特徴だ。AVX命令実行時のクロックを落として高い動作クロックを設定することで,非AVX命令のアプリケーションにおける性能を引き上げたり,逆にAVX命令を使用するアプリケーションに向けて性能を最適化させるといった,柔軟なオーバークロックが可能になるわけだ。
ちなみに,AVX Offset Ratioは2016年7月発表の「Broadwell-E」ことCore i7-6900&6800番台における倍率ロックフリー版が先行して採用していた。それがLGA1151環境にももたらされたことになる。
そしてメモリコントローラがDDR4-2400に対応した点も特筆できる。Skylake-SはDDR-2133までの対応だったので,メモリアクセスの高速化によって,性能向上を期待できるようになるわけだ。
Kaby Lake-Sが統合するグラフィックス機能(以下,iGPU)は「HD Graphics 630」。i7-6700Kは「HD Graphics 530」なので,型番は100上がったわけだが,HD Graphics 630に関して,Intelは原稿執筆時点でほぼ何も語っていない。ただ,GPUの動作クロックが最大1150MHzだと判明しているだけだ。
シェーダプロセッサに改良が入っているとか,「Execution Unit」の数が増えたとかいった情報は皆無なので,iGPUが変わったか否かは,実際に試してみるほかない。
Intel 200シリーズチップセットのラインナップ自体は別記事で紹介しているが,Z270は,Kaby Lake-Sの倍率ロックフリー版を用いた倍率変更をサポートする,シリーズ唯一の製品で,要は,Skylake-S用チップセット「Intel Z170」(以下,Z170)の後継的な存在だ。
PCIe 3.0強化の理由は,最近,急速に普及しつつあるPCIe接続のSSDに対応するためだろう。PCIe接続のSSD製品によってPCIe 3.0レーン数のニーズが高まっているため,チップセット側のレーン数を増加させることでマザーボードの設計の自由度を高める狙いと思われる。
もっとも,CPUとのインタフェースであるDMI(Direct Media Interface)はZ170と変わらず,PCIe 3.0 x4相当の「DMI 3.0」だ。そのため,DMIが性能面のボトルネックになる点は従来と変わらずで,PCIeのレーン数が増えたからと言って,即座に性能向上が期待できるわけではない。あくまでマザーボードの設計の自由度が上がる程度の違いである。
さて,そんなi7-7700KとZ270マザーボードのテストを用いたテスト環境は表1のとおりだ。今回は「Kaby Lake-SがDDR-2400に対応する」という情報を入手したのがテスト開始後だったため,DDR3-2133でメモリアクセス設定を統一している点はお断りしておきたい。
ただ,i7-7700Kに対応するチップセットドライバやグラフィックスドライバはi7-6700Kでもそのまま使えるので,メモリクロックまで揃えたことにより,CPU以外はまったくの同一条件で比較できてはいる。怪我の功名と言うとアレだが,Kaby Lake-SとSkylake-Sの違いは分かりやすくなったはずだ。
一般ベンチマークではクロック上昇分の順当な性能向上を確認
前段で紹介したとおり,i7-7700Kとi7-6700Kはコア数およびスレッド数と共有L3キャッシュ容量が同じで,動作クロックのみ,定格で約5%,最大で約7%高い設定になっている。なので,ベンチマークで5〜7%のスコア向上を確認できるなら,クロック上昇分の性能向上が得られていると判断できるはずだ。
一方,7%を大きく超えるようなスコア上昇が見られた場合は,アーキテクチャ上の改善が入っている可能性を指摘できることになる。
このパートでは,あくまでも日常的な使われ方を想定し,Turbo Boost,そして省電力機能である「Enhanced Intel SpeedStep Technology」(以下,EIST)はいずれも有効でテストを行う。
というわけでまずは,一般的なPCにおける性能指標となる「PCMark 8」(Version v2.7.613)の総合スコアを見ておこう。
今回は,カジュアルなゲームやビデオ再生中心の「Home」とビデオのエンコードや画像処理の比重が大きい「Creative」,そしてビジネスアプリケーション中心の「Work」という,3つのワークロードを実行した。CPU性能とスコアの間に相関関係がほとんどない「Storage」ワークロードは割愛している。
その結果がグラフ1だ。「Conventional」はCPUのみを使用したスコア,「Accelerated」はOpenCLによるアクセラレーションを有効にしたときのスコアである。
純然たるCPUコア性能によるConventionalから見ていくが,i7-7700Kは,i7-6700Kに対して,HomeとCreativeで約5%高いスコアを示した。すぐ上で述べたとおり,5〜7%程度のスコア上昇であれば順当と言えるので,約1%に留まったWork以外では,クロック分の順当な性能向上が見られたと言っていいだろう。もっともこれは,「i7-7700Kはクロック上昇分を除くとi7-7600Kに対してさほど違いがなさそう」だと感じさせる結果でもあるのだが。
ちなみに,Workでスコアが上がりにくいのは,表計算やワードプロセッサなど,CPU性能比が現れにくいアプリケーションを多く含んでいるためで,ある意味,ここも順当と言えば順当だ。
一方,OpenCLを有効化し,iGPU性能をテストに組み込んだAcceleratedでは,両者のスコア差が全体的に縮まっている。とくにConventionalでi7-6700Kに対して有意なスコア差を見せたHomeとCreativeで約1%にまで縮んでしまった。最大動作クロックが1.15GHzで揃っているHD Graphics 630とHD Graphics 530の間に,性能の違いはほとんどない印象がある。
CPUの性能を全力で使い切る一般ベンチマークとしては,CPUベースのオフラインレンダリングベンチマークとしての「CINEBENCH R15」(Release 15.038 RC184115)がある。その結果がグラフ2で,8スレッド実行時「CPU(8 threads)」のスコアは,i7-7700Kがi7-6700Kに対して約7%高い。1スレッド実行時「CPU(Single Core)」は約6%高かった。
CINEBENCH R15ではAES命令セットを多用しており,AES命令セットの実行時は(少なくとも標準の設定では)定格より高い動作クロックに入ることはない。8スレッド実行時に5%を超えるスコアが出ている裏には,何らかの理由があると言えるはずだ。
というわけで,i7-7700Kは一般的なアプリケーションで,動作クロック向上分に見合う程度の性能向上が得られ,CPUを全力で使うアプリケーションではクロック分以上の性能向上が得られる可能性もあるようだ,ということが分かった。
では,その裏に何があるのか,続く段落では,もう少し細かく特性を調べることのできる「Sandra 2016 SP1」(Build 2220)を使い,i7-7700Kの秘密を探ってみよう。
CPUコア性能は変わらずも,共有L3キャッシュの性能がやや向上
Sandra 2016 SP1では,CPUコアの性能に焦点を当てるために,前出の標準的な設定に加えて,「Turbo BoostとEISTをいずれも無効化のうえ,CPUコアクロック4GHz,L3キャッシュクロック4GHzに固定した状態」(以下,i7-7700K@4GHzおよびi7-6700K@4GHz)でもスコアを取ることにした。i7-7700Kとi7-6700Kではいずれも標準だとCPUの定格クロックで動作するため,MAXIMUS IX FORMULA側のUEFIから手動で4GHzに固定している。
また,CPUの性能に影響を与えるリングバスのクロックはCPUの定格クロックと同じになるので,こちらも手動で4GHz固定とする。つまり,i7-7700K@4GHzおよびi7-6700K@4GHzではCPUコアと足回りが揃っており,i7-7700K@4GHzおよびi7-6700K@4GHzとの間に有意なスコア差がなければ,少なくともCPUコア性能は変わっていないと判断できるわけだ。
グラフ3は,CPUの演算性能を見る「Processor Arithmetic」の結果をまとめたものだ。
総合スコアを示す「Aggregate Native Performance」を見てみると,i7-7700K@4GHzのスコアはi7-6700K@4GHzの約99%となった。誤差の範囲内でほぼ同じと見ていい程度の違いだろう。
一方,i7-7700Kとi7-6700Kを比較した場合は,前者が後者より約7%高いという,CINEBENCH R15に近い結果が見られた。前述のとおり,おおよそ7%程度以内の違いなら,動作クロックの差の範囲と見ることができるので,ここも妥当なスコア差が得られていると言ってしまっていい。
「Dhrystone Integer Native AVX2」を始めとする個別のテストも総合スコアとほぼ同様の結果を示していて,大きなスコアのばらつきは見られない。「Dhrystone Long Native AVX2」ではi7-7700Kのスコアが対i7-6700Kで+8.9%とやや大きなスコア差がついているが,かといって倍精度浮動小数点数演算周りに何らかの改良が入ったと言うにはスコアの伸びが小さすぎるように思う。断言まではできないが,筆者はばらつきの範囲内だと考えている。
続いてはCPUのマルチメディア性能を見る「Processor Multi-Media」だ。ここでは見やすさを重視し,スコアの絶対値でグラフ4,5といった具合にグラフを2つに分けている。
総合スコアに当たる「Aggregate Multi-Media Native Performance」では,i7-7700K@4GHzとi7-6700K@4GHzのスコアがほぼ一致した。個別スコアも最大で約1%未満――正確を期すと最大で約0.67%――の精度で揃っているので,CPUコア性能そのものは変わらないという考えの裏付けにになる結果が出たと言っていい。
一方,i7-7700Kとi7-6700Kを比べてみると,総合スコアではi7-7700Kがi7-6700Kに対して約11%高いスコアを示した。個別スコアも7〜14%程度高い。
CPUコア性能は変わっていないのに,スコアが伸びるとすると,考えられるのは,CPUコアごとに256KB用意されるL2キャッシュや共有L3キャッシュの動作クロック,もしくはリングバスのクロック向上だ。これらが総合的に作用して,マルチスレッド効率が上がり,CPUコアクロック比を超えたスコア向上を期待できるようになるということではないかと推測している。
暗号および復号化性能を見る「Processor Cryptography」の結果をグラフ6にまとめておこう。現行世代のCPUだと,「Encryption/Decryption Bandwidth AES256-ECB AES」はCPUに統合されるハードウェア暗号化/複合化アクセラレータを,AVX2命令を使う「Hashing Bandwidth SHA2-256 AVX2」はCPUコアを使うことになるテストだ。
まず,i7-7700K@4GHzとi7-6700K@4GHzのスコアに注目すると完全に一致した。ハードウェアアクセラレータやCPUコアの暗号および複合化性能は一切変わっていないわけだ。
i7-7700Kとi7-6700Kの比較では,Hashing Bandwidth SHA2-256 AVX2のみi7-7700Kがi7-6700Kに対して約11%高いスコア示し,総合スコアに影響を与える一方,ハードウェアアクセラレータを使うほうのスコアは完全に一致と,面白い結果になっている。
経済関係の方程式を計算する「Processor Financial」の結果は,見やすさ重視でグラフ7,8に分けたが,ここでもi7-7700K@4GHzとi7-6700K@4GHzのスコアはほぼ一致した。グラフ8だとi7-7700K@4GHzのスコアが対i7-6700Kで約99%だが,気になるのはその程度である。
i7-7700Kのスコアは,総合スコアにあたる「Aggregate Option Pricing Performance」で対i7-6700K比プラス約8%と,まずまずの伸びを示している。「Monte Carlo Euro Option Pricing」(モンテカルロ法による為替オプション計算)と「Binomial Euro Option Pricing」(二項定理を使う為替オプション計算)はいずれも並列化しやすいので,それが奏功しているようだ。
グラフ9は,科学技術関係の演算性能を見る「Processor Scientific」の結果だが,ここでもi7-7700K@4GHzとi7-6700K@4GHzのスコアはほぼ同じだ。
対i7-6700Kにおけるi7-7700Kのスコアは,総合スコアにあたる「Aggregate Scientific Performance」で約4%高い。つまり,ここまでと比べるとスコアのギャップはやや小さいことになる。その原因となるのは,「Fast Fourier Transform(FFT) FMA」の結果で,i7-7700Kのほうがi7-6700Kより約1%低いという逆転現象を起こしている。1%というのは生じうる誤差の範囲内だが,ほかに原因となる要素も見られないので,本来ならより高いスコアを示すべきところがなぜかそうなっていないことが,全体の足を引っ張ったのではなかろうか。
Fast Fourier Transform (FFT) FMAだけがこうなので,他の結果はクロック比から見て妥当なため,たまたまバックグラウンドプロセスの影響などが出てしまったなどといった不定要因が絡んでいるのかもしれない。
CPUによる画像処理の性能を見る「Processor Image Processing」は,やはり見栄え重視で,今回はグラフ10〜12の3つに分けて掲載するが,ピクセル処理は並列化しやすいこともあり,i7-7700K@4GHzとi7-6700K@4GHzのスコアはほぼ一致している。「Oil Painting: Quantise(9x9) Filter x8 AVX2/FMA」だけi7-7700K@4GHzのスコアが1%を上回るレベルで若干低いが,その理由は何とも言えない。
総合スコアにあたる「Aggregate Image Processing Rate」で,i7-7700Kが対i7-6700Kで約13%高いスコアを示している点は,Processor Multi-Mediaと似た傾向と言えるだろう。
以上,i7-7700K@4GHzとi7-6700K@4GHzのスコア差を見る限り,Kaby Lake-SとSkylake-Sの間に,CPUコア性能の違いは基本的にないと断言してよさそうだ。
ただ,i7-7700Kとi7-6700Kを比較すると,クロック差以上にスコア差が開くことがあり,その原因はCPUコア以外にある可能性を指摘できる。
キャッシュの性能は予想の範囲内
本パートでは,Sandra 2016 SP1から,CPUコア性能以外を見るテストの結果を見ていくことにしよう。
まずはCPUコア間のデータ転送帯域幅を見る「Multi-Core Efficiency」からだ。結果はグラフ13にまとめたとおりで,具体的な数値が分かりづらいという人のため,グラフ画像をクリックすると,スコアをまとめた表2を表示するようにしてある。適宜,別タブでそちらも参照してもらえればと思う。
さて,i7-7700K@4GHzとi7-6700K@4GHzを比較してみると,基本的にはスコアが一致するものの,「16x 64kB Blocks Bandwidth」と「8x 256kB Blocks Bandwidth」でi7-7700K@4GHzはi7-6700K@4GHzよりもスコアが落ち込んだ。とくに8x 256kB Blocks Bandwidthでは約92%のスコアしか出ていない。
理由は分からないが,16x64kB以上のサイズではL2キャッシュを溢れてL3キャッシュ経由のデータ転送になる境界にあたるので,そこに原因がありそうな気もする。
もっとも,「4x 1MB Blocks Bandwidth」以上ではおおよそ帯域幅が一致しているので,L3キャッシュが原因というわけでもないだろう。たまたま,何らかの理由で落ち込んでしまったか,あるいは他の原因があるのか,この結果だけでは何とも言えない。
それに対して,i7-7700Kとi7-6700Kを比較すると,「1x 64bytes Blocks Bandwidth」から「16x 4kB Blocks Bandwidth」まではi7-7700Kがi7-6700Kに対して6〜8%程度高いスコアを維持する。「4x 64kB Blocks Bandwidth」から8x 256kB Blocks Bandwidthまでも5〜6%程度は高いスコアで,それより大きなデータサイズだとスコアが横並びになった。
L3キャッシュのクロックはi7-7700Kのほうが200MHz高いので,大きなデータサイズでもi7-7700Kが上回ってもおかしくはないはずだが,L3キャッシュから溢れるサイズだと,今回はメインメモリへのアクセス設定が同じため,両者の違いはなくなるというわけだ。
いずれにしても,小さなデータのやり取りではコア間のデータ転送でi7-7700Kが動作クロック比程度の性能向上を見せるようだ。おそらくはL3キャッシュやリングバスのクロック向上によるもので,これがマルチスレッドの効率を上げ,テストによってはCPUコアクロックの違いを超えるスコアを出す理由になると考えられる。
グラフ14はメインメモリの帯域幅を見る「Memory Bandwidth」のテスト結果だ。メモリモジュールはまったく同じものを使い,遅延設定も変えていないので,スコアに違いは出ないはずだが,実際,i7-7700K@4GHzとi7-7600K@4GHzのスコアはほぼ一致した。
i7-7700Kとi7-6700Kでは前者のほうが約2%上回るというか,i7-6700Kのスコアが目に見えて低いのだが,違いはさほど大きくはないので,誤差か,何らかの不定要因によるものかもしれない。
キャッシュおよびメモリのレイテンシを見るCache and Memory Latencyの結果はグラフ15にまとめた。グラフ画像をクリックすると表3で詳細スコアを確認できるようにしてあるが,ここの結果もなかなか興味深い。というのも,i7-7700K@4GHzとi7-6700K@4GHzを比べてみると,L2キャッシュを超える「512kB Range」以上でi7-7700K@4GHzの遅延が若干が大きくなっているからだ。
理由は不明だが,先ほど示したMulti-Core Efficiencyの結果と考え合わせるに,i7-7700Kの“素の”L3キャッシュの性能は必ずしも高くないようだ。
だが,i7-7700Kとi7-6700Kで比較すると,L3キャッシュの枠内に収まる「8MB Range」以下で,i7-7700Kの動作クロックに見合う遅延の低減がおおむね得られているのを確認できる。プロセッサの標準設定で使う限り,キャッシュの性能は妥当なものと言えるだろう。
キャッシュの帯域幅を見るCache Bandwidthの結果がグラフ16だ。ここでもグラフ画像をクリックすると詳細スコア入りの表4を表示するようにしてあるが,i7-7700K@4GHzとi7-6700K@4GHzを比較すると,L3キャッシュに収まる「8MB Data Set」以下では,ややばらつくものの,総じてi7-7700K@4GHzのほうがやや低めという結果が出ている。「同じ動作クロックだと,i7-6700Kと比べて必ずしもキャッシュの性能は高くない」という,Cache and Memory Latencyの結果を踏襲するスコア傾向だ。
だが,i7-7700Kは,動作クロックに見合う性能がほぼ得られている。この点からも,プロセッサの標準設定で使う限り,i7-7700Kのキャッシュの性能はまずまずということになる。
本パートの最後は,マルチスレッドのクリティカルセクションにおけるメモリ競合時の性能を見る「Memory Transactional Throughput」の結果となるが,グラフ17を見る限り,語るべきことはなさそうだ。
i7-7700K@4GHzとi7-6700K@4GHzのスコアはほぼ一致し,i7-7700Kとi7-6700Kの比較ではi7-7700Kのほうが約8%高いスコアだ。CPUクロック比の目安となる7%をやや超えているが,誤差かL3キャッシュなどの足回りの差が少しだけ効いたか,いずれかだろう。Skylake以降――正確には「Haswell世代の一部以降」だが――ではTSX命令をサポートするので,クロック比前後のスコア差が見られるのは妥当と言っていい。
以上,Kaby Lake-Sでキャッシュやメモリコントローラに何らかの改良が入った様子は見られないが,動作クロックの向上による遅延低減や帯域幅拡大が見られる。これが,CPUコアクロック以上のスコアを一部のベンチマークで出す理由と見てよさそうだ。
iGPUの性能ははほとんど変わらず同じものか?
最後のパートでは,4Gamer読者にはあまり関係のないiGPUのテストを行っておこう。iGPUのテストでは,CPUコアによる影響が小さいことから,動作クロックはプロセッサの標準設定のみとしている。
先回りして述べておくと,Sandra 2016 SP1のログでは,HD Graphics 630,HD Graphics 530ともに「192SP 24C 1.15GHz」という記録が残る。SPは「Shader Processor」で,そのままシェーダプロセッサ数。Cは「Cores」で,Intelが言う「Execution Unit」(以下,EU)数にあたる数字だ。最後はもちろん最大動作クロックである。
Sandra 2016 SP1のログはOpenCLから見た値なので,必ずしも全面的な信用はできないのだが,仮にEU数やEUの構成が変わっていれば,必ずレポートは変化するので,ログの記録が一致しているということは,HD Graphics 630とHD Graphics 530との間にアーキテクチャ上の違いはまずないと見ていいことになる。
では実際どうなのか,おなじみの総合ベンチである「3DMark」(Version 2.2.3509)から,「Fire Strike」の結果を見ておこう。グラフ18に総合スコアを,グラフ19に総合スコアから抜き出した「Graphics score」をまとめている。
それらを見てもらうと分かるが,i7-7700Kとi7-6700Kとの間に,スコアの違いはほとんどない。総合スコアで前者が後者より約1%,Graphics scoreでは1〜2%程度高いので,ごくごくわずかにHD Graphics 630のほうが上とは言えるが,その程度だ。
参考までにDirectX 12のテストとなるTimeSpyの総合スコアもグラフ20に掲載しておくが,ご覧のとおり,ここでも両者に大きな違いは出ていない。i7-7700Kがi7-6600K比で約99%のスコアだが,ここもほとんど誤差のようなものだ。
むしろここは「HD Graphics 630でDirectX 12のベンチマークがきちんと動いた」ことを評価すべきところかもしれない。
ではシェーダの性能はどうか。Sandra 2016 SP1でGPUの演算性能を測る「GP Processing」の結果をグラフ21〜23に,また科学技術演算の性能を見る「GP Scientific」の結果をグラフ24にまとめてみた。GP Processingでグラフを3つに分けたのは,単純に見やすさを重視したためだ。
見てもらうと分かるように,GP Processingの「Single-Float Shaders Native」を除き,完全にスコアが一致した。Single-Float Shaders Nativeだけはi7-7700Kがi7-7600Kより約5%高いが,ほかの結果を見る限り,シェーダ性能や動作クロックに手が加えられているとは思えないので,例外的な何らかの不定要因によるものだと考えている。
グラフ25はiGPUから見たメモリバス帯域幅を示す「GP Bandwidth」の結果である。
総合スコアにあたる「Aggregate Memory Performance」では,i7-7700Kのほうがi7-6700Kより約5%高い値を示した。またGPU内部のメモリバス帯域幅を測る「Internal Memory Bandwidth」はi7-7700Kのほうが約6%高く,GPUとグラフィックスメモリ間のバス帯域幅を見る「Interface Transfer Bandwidth」でも約5%高くなっている。
いずれもキャッシュが絡んでくる性能なので,iGPUとCPUで共有するL3キャッシュのクロック向上が効いているのだろう。
iGPUから見たメモリのレイテンシを見る「GP Memory Latency」からも,L3キャッシュの影響が見て取れる(グラフ26)。ここでもグラフ画像をクリックすると,実スコアがまとまった表5を表示するようにしてあるが,「2MB Range」以上でi7-7700Kのほうが有意に小さな遅延を記録している。また,「8MB Range」まではiGPUとCPUとで共有しているL3キャッシュのクロック向上が効いているのだろう。
8MB Rangeを超える範囲でも有意に遅延が小さくなっている理由は何とも言えないが,GPUはそれ自体でもキャッシュを持ち,キャッシュ階層が深い,つまりメインメモリが遠いアーキテクチャなので,L3キャッシュやリングバスといった足回りの性能向上が8MB Rangeを超える範囲にも効いている可能性はあると思う。
最後に,初の試みとして,「waifu2x-converter-cpp」(tanakamura氏版)を使ってGPGPUの性能を調べた結果も掲載しておきたい。
waifu2xは,深層学習を使って画像を2倍に拡大するツールで(※),オリジナルが公開されて以降,さまざまな派生版が登場した。tanakamura氏版のwaifu2x-converter-cppは,CUDAおよびOpenCLをサポートする派生版で,Intel製iGPUを使ったアクセラレーションにも対応できる。
※2倍以外の指定も可能だが,その場合も深層学習で2倍あるいは2の累乗倍し,そのうえで古典的なリサンプルで画像サイズを変える仕様になっている。深層学習は2倍固定だ。
そこで,waifu2x-converter-cppを使って5000×3445ドットのサンプル画像を2倍に拡大し,そのログから演算性能を調べてみることにした。要は深層学習でIntel製iGPUがどの程度の性能を示すかを測ってみようというわけだ。
tanakamura氏版のwaifu2x-converter-cppはAMDのRadeonシリーズでOpenCLの最適化を行っているため,Intel製iGPUの性能を必ずしも発揮できるとは限らない点には注意が必要だが,おおよその演算性能を推し測る目安にはなるはずだ。
参考までにテストに使ったwaifu2x-converter-cppのオプションを掲載しておこう。下記のオプションでノイズ低減フィルタを有効にし,2度実行して平均演算速度を求めている。サンプル画像のサイズが極めて大きいため,Intel製iGPUだと処理に500秒程度かかる設定だ。
- waifu2x-converter-cpp --processor 1 -m noise_scale --scale_ratio 2 --noise_level 1 --model_dir anime_art_style -i sample.jpg
というわけで結果はグラフ27のとおり。スコアはほぼ一致した。
以上,i7-7700K(=HD Graphics 630)とi7-6700K(=HD Graphics 530)の違いを見てきたが,モデル名こそ異なるものの,基本的には同じiGPUであると断言していいだろう。足回りの違いから3Dアプリケーションではややi7-7700Kが有利になるけれども,その違いは誤差程度だ。
Kaby Lake-Sの本当の価値は電力対性能比!
「Kaby Lake-SはSkylake-Sに対してクロックが上がった分だけ性能が高いCPUで,それ以上でも以下でもない」という,何とも拍子抜けの結果を並べてきたが,実のところ,そういう結果にならなったテストが1つだけある。それは,消費電力だ。
いつものように,ログの取得が可能なワットチェッカー「Watts up? PRO」で,システム全体の消費電力を比較してみた。テストにあたっては,ゲーム用途を想定し,ディスプレイの電源がオフにならないよう設定したうえで,OSの起動後30分放置した時点を「アイドル時」,各アプリケーションを実行したとき,最も高い消費電力値を記録した時点を,タイトルごとの実行時とした。
なお,Sandra 2016 SP1では標準設定を使い,Processor Arithmetic実行時(グラフ中では「Sandra 2016 SP1(PA)時)とGP Processing実行時(グラフ中では「Sandra 2016 SP1(GPP)時)のそれぞれを記録している。前者はCPUコア,後者はiGPUの消費電力を主に計測した結果ということになる。
その結果はグラフ28にまとめたとおりだ。PCMark 8だけはスコア差がつかなかったものの,それ以外ではi7-7700Kの消費電力が明らかに低いことが分かるだろう。
CPUテストになるCINEBENCH R15とSandra 2016 SP1のProcessor Alithmeticは順に約30W減,25W減と,目を疑いたくなるほど消費電力が下がっている。
また,GPUテストとなるSandra 2016 SP1のGP Processingやtanakamura氏版のwaifu2x-converter-cpp実行時(グラフ中は「waifu2x時」)でも,消費電力は目に見えて下がっている。
Skylake-Sは動作クロックを引き上げると消費電力が激増する傾向にあったが,Skylake-Sよりも高いクロックで動作するKaby Lake-Sで逆に消費電力が大きく下がっているという点はまさに注目すべきといえる。
消費電力が低いということは発熱も低くなり,クロックを上げる余地も大きくなることを意味する。「単なる高クロック版マイナーチェンジ」に堕することなく,一点だけとはいえ,重要な改善を行ってきたあたりは,さすがIntelといったところか。
性能は微増だが,電力性能は大幅に向上した,順当なマイナーチェンジ
Kaby Lake-S,そしてi7-7700Kの絶対性能について言えば,特筆できそうなことは何もない。クロックが上がった分だけ性能の伸びが得られるという程度で,わざわざ,新しい開発コードネームまで用意するようなものかと言うと疑問が残る。「Skylake Refresh」がいいところだろう。
だが,電力性能に着目すると,Kaby Lake-S,そしてi7-7700Kはかなり素晴らしい。本稿ではオーバークロック耐性について論じないが,標準設定で使うなら,これだけでKaby Lake-Sを選ぶ価値があると言ってもいいくらいだ。
おそらく今後,第6世代Coreプロセッサは終息し,第7世代Coreプロセッサへと全面的に置き換わることになるはずだ。これから4コア版のCoreプロセッサを買うのであれば,7000番台が出揃うのを待ったほうがいいかもしれない。
「Core i7-7700K」レビュー。最大クロック4.5GHzの倍率ロックフリー版Kaby Lake-Sはゲーマーに何をもたらすか?
Intel,Kaby Lake世代のデスクトップ&ノートPC向けCPUを一斉発表。第7世代Coreプロセッサ時代が本格的に幕を開ける
Kaby Lake-S対応のIntel 200シリーズチップセット搭載マザーボードが各社から一斉に発表。販売は1月6日から
Intel日本語公式Webサイト
- 関連タイトル:
第7世代Core(Kaby Lake)
- この記事のURL: