Alderlake i9 12900K のE-coreの性能

Alderlakeの特徴の一つは、P-coreとE-coreというふたつのコアが混載されていること。

そこで実際のところ、E-coreの性能はどうなのだろうということで、今回そのあたりを中心にチェックしてみた。

12900Kについては、下記4パターンをチェックしてみた。

1. 8P+8E
普通に12900Kを使う場合の性能。

2. 8P+0E
BIOSでE-coreを無効にし、P-coreだけだったらどういう性能になるかをチェック。8P+8E との差で、どのくらいE-coreが効いているかわかると思う。

i9_12900K_PCore_only_02.png


3. 6P+8E
P-core 2個の面積にだいたいE-coreが8個分入るらしい。となると気になってくるのが、じゃあ全部P-coreじゃダメだったの?という疑問。

本当は10P+0Eと8P+8Eの比較をしたいのだけど、それはできないので、BIOSからP-coreを6つにして、6P+8Eと8P+0Eを比べることで、ちょっと比率は違うけど2P⇔8Eの交換の効果を比較して、E-coreの混載が実際のところどうなの? というのを見てみたい。

i9_12900K_6P_8E_task_manager.png

4. 0P+8E
E-coreの素の性能を確認。8P+0Eや、ほかのCPUと比べることで、E-coreだけのCPUがあったらどんなものというのもわかりそう。

ただし、BIOSからP-coreは0にできないらしいので、P-coreを1つにしたあと、実行時にプロセスのアフィニティをE-coreのみと指定することで疑似的な0P+8Eとしてテストしている。この場合、バックグラウンドタスクをP-coreで処理できるので、ややスコアが上がりやすいので注意。また、Cinebenchについては実行時に毎回アフィニティを勝手に全コアに再設定してしまうので、毎回手動で設定しなおす必要があった。そのため、Cinebench R23は自動で10分継続するモードが使えず、手動で5回回した平均としていて、他と計測方法がやや異なるので注意。

i9_12900K_0P_8E_task_manager.png


検証環境



まずIntel環境から。

CPUi9 12900Ki7 11700K
8P+8E8P+0E6P+8E0P+8E定格
コア数8P+8E
24T
8P+0E
16T
6P+8E
20T
0P+8E
8T
8C/16T
L2 Cache14MB10MB11.5MB4MB4MB
L3 Cache30MB16MB
Boost5.2GHz4.9GHz
AVX512Auto
Core VoltageAutoAuto
PL1/PPT241W125W
PL2241W251W
tau56s56s
IccMaxUnlimitedAuto
Uncore4700MHz4100MHz
メモリDDR4-3600 2chDDR4-3600 2ch
メモリ容量8GBx416GBx2
タイミング16-19-19-39-118-22-22-45-2
メモリ FCLKGear1Gear1
マザーMSI MAG Z690 TOMAHAWK WIFI DDR4Gigabyte Z590I AORUS ULTRA (F5a)
電源Seasonic FOCUS PX-750Seasonic SS-620GB
ケースThermaltake Core V71Phanteks Evolv Shift X
OSWindows 11Windows 11


次にAMD環境。

CPUR7 5800X (偽)R7 3700X
定格定格
コア数8C/16T8C/16T
L2 Cache4MB4MB
L3 Cache32MB32MB
Boost5.0GHz4.4GHz
OCDefaultDefault
Core VoltageAutoAuto
PPT142W88W
TDC/IccMax95A60A
EDC140A90A
Uncore1800MHz1800MHz
メモリDDR4-3600 2chDDR4-3600 2ch
メモリ容量16GBx28GBx2
タイミング19-20-20-40-120-23-23-45-1
メモリ FCLK1:011:01
マザーGigabyte B550 AORUS MasterAsrock X570 Steel Legend
電源Seasonic FOCUS PX-750ENERMAX EPM600AWT
ケースFractal Design Define 7 Compact LightTGAntec P100
OSWindows 11Windows 11


使用ソフト
Cinebench R15, R20, R23
7zip 19.00
Aviutl 1.00 / x264guiEx 2.68 / x265guiEx 3.102 / svtav1guiEx 0.07
x264 rev3075 x64
x265 3.5+13 x64
y-cruncher 0.7.8 9507



Cinebench R23, R20, R15



Cinebench R23。マルチスレッドのほうは10分実行して平均をとるモードを使用している。

E-core(0P+8E)のマルチスレッド性能はP-core(8P+0E)の4割程度。Rocketlakeなどと比べても低く、やはり性能は決して高くはないが、面積や電力も考慮すると確かに効率は良さそう。

6P+8Eと8P+0Eを比べると、6P+8Eのスコアのほうが高く、Cinebenchに関しては2P⇔8Eの交換は効果を発揮しているといえる。

E-coreのシングルスレッド性能はP-coreの約半分。デスクトップPCとしてこれだけを使うのはやや厳しめだが、動作周波数の差も考えるとそれほど悪くないといえそう。

同じ物理8コアだが、P-coreと比べるとE-coreのシングル→マルチの倍率は低い。これはE-coreの計算リソースがやはり少なく、HTTに対応していないことが原因なのだと思う。

i9_12900K_20211117_benchmark_cinebenchr23.png



Cinebench R20。だいたいの傾向はR23と同じ。

i9_12900K_20211117_benchmark_cinebenchr20.png



Cinebench R15。

データサイズが小さいせいか、R20/R23よりはE-coreのスコアが相対的によさそう。

i9_12900K_20211117_benchmark_cinebenchr15.png



7zip 19.00



7zipではE-core(0P+8E)はP-core(8P+0E)の約半分の性能。面白いのはdecompressでは8P+8Eがそれぞれの足し算になる一方で、compressのほうは上乗せがほとんどない点。

6P+8Eと8P+0Eを比べると、decmpressについては6P+8Eのスコアのほうが高く、2P⇔8Eの交換は効果を発揮している。compressのほうはどちらでもよさそう。compressはコア性能よりメモリ帯域かキャッシュ量かなにかで性能が決まっているのだろうか?

i9_12900K_20211117_benchmark_7zip.png



y-cruncher 0.7.8 9507



SIMD-fpを酷使しつつメモリ帯域も重要とされるy-cruncher。この表だけ単位が計算時間なので値が小さいほど速い。

ここではE-core(0P+8E)はP-core(8P+0E)の約45%の性能。6P+8Eと8P+0Eを比べるとほぼ差がない。8P+8Eともほぼ差がないので、CPUコアの性能ではなく、メモリ帯域かキャッシュ量など別の要因で律速していそう。

i9_12900K_20211117_benchmark_ycruncher.png



x264



さて、ここからが本題のx264。グラフがとても長いのは許してほしい。

Aviutlでmpeg2 1080p 5203frame(sample_movie_1080p.mpg)をlwinput.auiで読み込み、x264guiExで出力。

E-core(0P+8E)はP-core(8P+0E)の45%~50%の性能で、そこそこ頑張っている感じ。6P+8Eと8P+0Eを比べると、6P+8Eのスコアが高く、2P⇔8Eの交換は効果を発揮している。

i9_12900K_20211117_benchmark_x264.png



x265



次にx265 8bit。Aviutlでmpeg2 1080p 5203frame(sample_movie_1080p.mpg)をlwinput.auiで読み込み、x265guiExで出力。

E-core(0P+8E)はveryslowなどではP-core(8P+0E)の50%程度の性能だが、veryfastなどでは40%弱で、速いプリセットのほうが苦手となっている。

6P+8Eと8P+0Eを比べた場合でもveryfastだけは8P+0Eのほうが速くなっている。ただ、その他のプリセットでは6P+8Eのほうが速く、スレッド並列の効く重いプリセットではE-coreがあったほうがよいという感じになっている。


i9_12900K_20211117_benchmark_x265_8bit.png



x265 10bit。これも8bitと同様の傾向。

i9_12900K_20211117_benchmark_x265_10bit.png



SVT-AV1



svt-av1(8bit)。Aviutlでmpeg2 1080p 5203frame(sample_movie_1080p.mpg)をlwinput.auiで読み込み、svtAV1guiExで出力。

E-core(0P+8E)はP-core(8P+0E)の35%前後と、これまでで比べた中で一番P-coreとE-coreの差がついている。E-coreはsvt-av1の演算を苦手としているのかもしれない。

そのせいか、6P+8Eと8P+0Eの差も小さく、6P+8Eがわずかに優位という感じ。

i9_12900K_20211117_benchmark_svtav1_8bit.png



最後にsvt-av1(10bit)。傾向は8bitと変わらず。

i9_12900K_20211117_benchmark_svtav1_10bit.png



終わりに



というわけでE-coreの性能というか特性を見てみるため、12900Kをいろんな構成にして性能を比較してみた。

E-core(0P+8E)のマルチスレッド性能は、対象によってさまざまだが、P-core(8P+0E)の3割~5割程度となっていた。(CinebenchはE-coreが比較的得意そう)

E-coreの性能はやはり限定的で、さすがにE-coreだけのCPUとかがあったとしたら、やや性能低くて使いにくそう。

ただ、そこそこの性能はあるし、面積(≒コスト)と電力を考慮すると効率は良いものとなっているのは間違いない。8P+0Eと6P+8Eの比較で2P⇔8Eの交換をチェックすると6P+8Eのほうが性能が高い場面が多かった。もちろんP/Eの数のバランスは考慮する必要があるが、多数のスレッドが同時に走る状況では、少ないP-coreをぶん回すより、多くのE-coreを使って効率よく処理させるほうが、CPU全体のパフォーマンス向上につながるというAlderlakeの設計が実際にも確認できたと思う。

6P+8Eというとモバイル向けAlderlakeの最大構成で、特に電力の制限の厳しいモバイルではシングルスレッドもマルチスレッドにも強いかなり強力なCPUとなりそう。また、今後のCPUではE-coreが増量されていくと噂されていて、P/Eのバランスはどのくらいがいいのかというのも(アプリによって異なるだろうけど)面白そう。

あと、個人的には2P+8Eの省電力CPUとかがあれば小型PCや録画鯖向けに面白そうな気がするが、そういうのはデスクトップ向けには来ないみたい…。NUCとかにはモバイル向けの2P+8Eの石が来ることもあるかも?
スポンサーサイト



コメントの投稿

非公開コメント

No title

興味深い記事で面白かったです。

この記事を作成されたあとに言うのもなんだけど
Pコアだけにすると、AVX512が使えるみたいなんですよね。

ただ、それができるのが現状、ASUS,GIGABYTE,ASROCKなどの一部マザーで、MSIは出来ないのですが、ベータBIOS 111からできるようなので、AVX512が有効にされたら、エンコーダでどう働くか気になりますね。
とくに、8P+0Eと6P+8Eでどうなるのか。

Re: No title

AVX512は現状だとMSIなのでできなそうです…。正式にリリースされたら試してみるのもおもしろいかもですね。

No title

Cinebenchを見る限りEコアのシングル性能がHaswellや第一世代のRyzenを確実に上回ってるようですね
前評判の時からSkylake並(2C4Tを4Cで超える・・・?)やHaswell超えるなどある程度高い事は分かっていても
若干不安な面があったのですが、個人的には思いのほかEコアは高性能だと思いました。
Atom系Cele/Penの性能向上やノート等今後に期待が持てそうです。

個人的にはQSVに期待してRocketを買ったものですが、画質等にほぼ不満は無い中、HEVC10bit高画質設定はやっぱり遅いですね。
AlderではGPUの変更は、インタビュー記事等でほぼ無いと言われていてクロックが若干上がったぐらいですので
QSVはやっぱり次世代に期待するしかないのでしょうかね?

No title

ありがとうございました。素晴らしい検証でした。はっきり言って下手な専門メディアのレビューよりも参考になります。

P/Eの使い分けについては、発表前は結構賛否もあったようですが、シングルスレッド・マルチスレッド各々に合わせた2種のコアで、二兎を確実に仕留める、というコンセプトの効果を示せたのは大きいと思います。

今後の課題は、命令セットの対応と、スレッドディレクタの成熟ですかね。素人の妄想ですが、スレッドディレクタがもしGPUに仕事をぶん投げられるようになれば、将来的にはAVX512はGPU側で処理する、なんてことも出来るようになるのかも。

No title

欲張りついでですが、これ、各コアの動作周波数を固定して、同クロック当たりの性能比較なんてのも面白いかもしれないですね。

No title

>> 2021-11-20(14:36) 様
そうですね。確かにE-coreのシングルもHaswell以上でSkylakeに近い性能と思えば、わりとよい性能ですよね。

今回デスクトップでもP-core/E-coreの混載はパフォーマンス向上に役立つことが確認できましたが、一方でE-coreの恩恵かアイドル電力も低いと言われていて、そのあたりもポイントかと思います。

おっしゃるように今後のAlderlake搭載ノートPCでは、シングルスレッド性能も引き上げる一方で、バッテリー時間も向上できそうな気がしていて、期待できそうです。

QSVに関してはあまりまだ細かく見ていませんがコメントいただいたようにRocketlake/Tigerlakeと比較するとクロック上昇分ぐらいしか差はないとされています。あるいはDDR5環境ならメモリ帯域の増大が効いたかどうか試せたのですが、すみません、入手性や価格の問題でDDR5は諦めました…。

>> 2021-11-21(07:18) 様
ありがとうございます。記事を楽しんでいただけましたら幸いです。

命令セットの件は、たしかにいまE-coreに引っ張られてAVX512が全体で無効になっているのはちょっともったいないかなあと思います。(AVX512が効く処理は少ないという現実はあるとしても、効果ある場合はとことん速いので)

E-coreで実行しているスレッドでAVX512命令が出現したらP-coreに移動させるとか、あるいは難しければAVX512を128bitx4に分解してひとまずE-coreでも実行できるようにするとか、なってくれると面白いですが。
プロフィール

rigaya

Author:rigaya
アニメとか見たり、エンコードしたり。
連絡先: rigaya34589@live.jp
github twitter

最新記事
最新コメント
カテゴリ
月別アーカイブ
カウンター
検索フォーム
いろいろ
公開中のAviutlプラグインとかのダウンロード

○Aviutl 出力プラグイン
x264guiEx 3.xx
- x264を使用したH264出力
- x264guiExの導入紹介動画>
- x264guiExの導入
- x264guiExのエラーと対処方法>
- x264.exeはこちら>

x265guiEx
- x265を使用したH.265/HEVC出力
- x265guiExの導入>
- x265.exeはこちら>

QSVEnc + QSVEncC
- QuickSyncVideoによるHWエンコード
- QSVEnc 導入/使用方法>
- QSVEncCオプション一覧>

NVEnc + NVEncC
- NVIDIAのNVEncによるHWエンコード
- NVEnc 導入/使用方法>
- NVEncCオプション一覧>

VCEEnc + VCEEncC
- AMDのVCE/VCNによるHWエンコード
- VCEEnc 導入/使用方法>
- VCEEncCオプション一覧>

svtAV1guiEx
- SVT-AV1によるAV1出力
- svtAV1guiExの導入>
- SVT-AV1単体はこちら>

VVenCguiEx
- VVenCによるVVC出力
- VVenCguiExの導入>

ffmpegOut
- ffmpegを使用した出力
- ffmpegOutの導入>


○Aviutl フィルタプラグイン
自動フィールドシフト (ミラー)
- SSE2~AVX512による高速化版
- オリジナル: aji様

clfilters 
- OpenCLベースの複数のGPUフィルタ集
- 対応フィルタの一覧等はこちら

エッジレベル調整MT (ミラー)
- エッジレベル調整の並列化/高速化
- SSE2~AVX512対応
- オリジナル: まじぽか太郎様

バンディング低減MT (ミラー)
- SSE2~AVX512による高速化版
- オリジナル: まじぽか太郎様

PMD_MT
- SSE2~AVX512による高速化版
- オリジナル: スレ48≫989氏

透過性ロゴ (ミラー)
- SSE2~FMA3によるSIMD版
- オリジナル: MakKi氏

AviutlColor (ミラー)
- BT.2020nc向け色変換プラグイン
- BT.709/BT.601向けも同梱

○その他
Amatsukaze改造版
- AmatsukazeのAV1対応版

tsreplace
- tsの映像のみを置き換えて圧縮

rkmppenc
- Rockchip系SoCのhwエンコーダ

x264afs (ミラー)
- x264のafs対応版

aui_indexer (ミラー使い方>)
- lsmashinput.aui/m2v.auiの
 インデックス事前・一括生成

auc_export (ミラー使い方>)
- Aviutl Controlの
 エクスポートプラグイン版
 エクスポートをコマンドから

aup_reseter (ミラー)
- aupプロジェクトファイルの
 終了フラグを一括リセット

CheckBitrate (ミラー, 使い方, ソース)
- ビットレート分布の分析(HEVC対応)

チャプター変換 (使い方>)
- nero/appleチャプター形式変換

エッジレベル調整 (avisynth)
- Avisynth用エッジレベル調整

メモリ・キャッシュ速度測定
- スレッド数を変えて測定
- これまでの測定結果はこちら

○ビルドしたものとか
L-SMASH (ミラー)
x264 (ミラー)
x265 (ミラー)
SVT-AV1 (ミラー)

○その他
サンプル動画
その他

○読みもの (ミラー)
Aviutl/x264guiExの色変換
動画関連ダウンロードリンク集
簡易インストーラの概要

○更新停止・公開終了
改造版x264gui
x264guiEx 0.xx
RSSリンクの表示
リンク
QRコード
QR