- 初期レビューではM3ベースのMacのCPUコアに大きな変化はないように見えるが、実際にはクラスターサイズや最大周波数の増加など、重要な変化がある
- クラスターサイズ: M1/M2チップでは2個または4個のCPUコアがクラスターを構成し共有キャッシュを使用していたが、M3チップでは基本モデルは4個、ProとMaxモデルは6個のコアで構成されたクラスターを持つ
- これはチップ選択に影響する
- macOSは可能であればQoS(サービス品質)に応じて、より高い優先度で実行されるスレッドをPコアに割り当てる
- Pコアがすでに完全に占有されている場合、macOSは代わりにEコアで高QoSスレッドを実行する
- つまり、普段使っているアプリをアクティビティモニタのCPU履歴ウィンドウで確認し、
- Pコアがほとんどの時間で完全に占有され、そのワークロードがEコアにあふれている場合は、Pコアがより多いM3を検討すべき
- Pコアに常に十分な予備容量があるなら、Pコアがより多いM3から追加の価値は得られないだろう
- Eコア: M3 ProのEコアはM1 Proと似ているが、macOSによって決定される周波数管理に違いがあり、M3チップは最大2748 MHzに達する
- これは、M3のEコアがM1よりもバックグラウンドスレッドをやや遅く実行することを意味する
- つまり、M1 ProをM3 Proに置き換えるとバックグラウンド作業は遅くなるが、Eコアにオーバーフローした高QoSタスクは高速化される
- Pコア: M3 ProのPコアは最大4056 MHzで動作し、M1 Proと比較して整数および浮動小数点性能は約1.3倍、ベクトル性能はNEONやAppleのAccelerateライブラリを使用する場合にさらに高速な性能を示す
- これは整数および浮動小数点性能の向上がコア周波数の増加によるものである一方、ベクトル処理ではさらに大きな改善がある可能性を示唆している
- おそらくAppleはM3 PコアのNEONユニット設計を改善したのだろう
- P対Eの性能: M1とM3のコアは負荷時の性能パターンが異なり、M3 ProはPコアとEコアの両方でより高い性能を提供する
- CPU使用履歴: Activity MonitorのCPU使用履歴はコア負荷と性能に関する情報を提供するが、コア周波数を考慮しないため誤解を招く可能性がある
要約
- CPUコアの比較には、マルチコアベンチマーク以上に見るべきことが多い
- すでにAppleシリコンMacを使っているなら、普段のPコアとEコアの使用パターンを観察して、より多くのコアを持つMacが必要かどうかを判断するとよい
- CPUコアのクラスターサイズはM3チップで2-4から4-6に変更されており、これは性能と電力使用に広範な影響を与える可能性がある
- M3のEコアはM1のコアと似て見えるが、最大周波数はより高く、バックグラウンド作業ではより低い周波数で動作する
- M3のPコアはベクトル(NEON)ユニットで性能が改善されたようで、最大周波数もより高い
- Eコア数が増えると、Pコアからあふれた高QoSスレッドを受け止められる容量が増える
- macOSのコア管理も変更されている
1件のコメント
読んでみると、ソフトウェア開発環境での(結局はスレッド割り当て)並行性をサポートする下位ライブラリの動作と同じ文脈で発展しているようですね。新しい macOS や iOS が新しい Appleシリコンでより恩恵を受けられるのかもしれません。