テックポエマーと学ぶバズワード - Apple Silicon M1

はじめに

今話題のITのキーワードに関して解説いくバズワードシリーズです。

今回は今大注目のAppleシリコン M1に関して解説します。6月のWWDCの時点では「ついにか!」という気持ちはあるものの正直「まあIntel/AMDに追いつくのは良くて1,2年後で初回は一応動く程度のものだろう」と高をくくっていました。

しかし、11月10日の発表では予想に反して圧倒的な性能を最初から持っている事がアナウンスされ、先週、実際のベンチマーク結果や体験レポートも上がってきてマーケッティングではない本物の実力を秘めてる事が分かってきました。

と言うわけで「なんでそんなに速いのか?」という事が気になったので、調べて解説動画を作ってみました。少し長くなったので前中後の3部作にして1つの動画が15分から18分程度になっています。

また、配信中に使ったスライドは下記となります。

前編: ベンチマーク編 - 圧倒的なワッパ

www.youtube.com

前編は各種ベンチマークを眺めながら、M1がどのくらい速いかを話しています。

f:id:pascal256:20201123115536p:plain f:id:pascal256:20201123115607p:plain f:id:pascal256:20201124112618p:plainf:id:pascal256:20201123115657p:plain

Core i9を含めて歴代のどのMacBookよりもMacBook Airの性能が高いのは本当に驚異的ですよね。マルチスレッドでこそコア数の関係もありiMacなどには遅れをとりますが十分な性能です。また、それでいてTDPが10~15Wと言う事もありワットパーパフォーマンスは圧倒的ですね。

もう一つ重要なのが、armの中でダントツに速いという事です。ここからx86からarmに変えたので高速なのではなく、単純にApple Siliconが高速だという事がわかります。

中編: SoC編 - PCをやめたMac

www.youtube.com

中編はM1がCPUではなくSoC (System on Chip)であることやAppleの強調していたUMAに関して話します。

f:id:pascal256:20201123120608p:plain f:id:pascal256:20201123120911p:plain

まず一番重要な点は今回のCPU変更が単純にx86からarmへの移行という以上にPCアーキテクチャからの脱却に少なくとも結果としてなっている事です。

これによりAppleは売上の大部分を占めるiPhoneと開発ラインをまとめられるだけではなく、PCの制約を超えてMacを進化させることが出来るようになります。もはやMacはPCではなくパソコン型の大きなスマホなのです。事実、今回のM1による新型Macではベンチマーク的なCPU/GPUの性能以上にコプロセッサによる大量のバフで快適度を高めています。

f:id:pascal256:20201123120748p:plain f:id:pascal256:20201123120813p:plain

また、UMA (Unified Memory Architecture)に関しても解説しました。単にGPUとCPUで物理メモリを共有する共有GPUメモリでは性能が落ちてしまいます。事実これはパーツを減らしたいローエンド向けPCに良くされる設計です。今回、Appleが性能向上のポイントとしてUMAを上げていたのはCPUとGPUでメモリアドレスを共有する仕組みを持っておりゼロコピーが実現できるからです。これによりCPUとGPUの間でのデータ転送が減りパフォーマンスの向上が期待できます。

後編: CPU/GPU編 - 単純に速いFirestormコア

www.youtube.com

後編は主にCPUの話をしています。

f:id:pascal256:20201123122840p:plain f:id:pascal256:20201123122911p:plain

まず、armは同じマルチコアといってもIntel/AMDのようにすべてのコアが同一であるSMPではなく、高性能なコアと電力効率の良いコアを組み合わせたbig.LITTLE戦略のマルチコアを採用しています。これはAppleに限らずスマホ向けのarmでは一般的な実装でかなり実績もあり、かなり効果的に省電力を実現することが出来ます。ただしコア数の数え方が違うので例えばbig/little含めるとM1は8コアだが単純にIntelの8コアと比較する事は出来ない、ということに注意してください。

また、Firestormコアは単純に高性能です。なぜ速いかと言えば単純にキャッシュを増やしデコーダを増やし演算ユニットを増やす、といったやるべきことをちゃんとやってる結果ですね。特別奇をたてらった仕組みがあるわけでは無いようです。基本が大事ということですね。これはarmとかx86あるいはCISCRISCと言った違いは基本的には関係ありません。まあ、x86は8bit/16bit/32bitのサポートを継続するためにISAが刷新されておらず「可変長で長大で不規則な命令」を持っていると聞くのでx86が呪われているとは言えるかもしれませんが。。。たぶん比較してデコーダとか作るの大変でしょうし。

f:id:pascal256:20201123123007p:plain f:id:pascal256:20201123123058p:plain

GPUに関しても少しふれておきます。CPUがハイエンドCPUと比較しても遜色がないのに比べるとGPUは少し見劣りします。デスクトップ版のRTX 3080はもちろんですが、モバイルのRTX 2060と比べても性能がかなり落ちます。ただしこれはOpenCLベンチマークなので純粋な描画性能ではないことには注意をしてください。

一方で既存のMacBookと比較する分においては特にそん色のない性能を出しているので「iGPUとしては速いがdGPUと比べると遅い。しかし既存のMac並み」と言ったところでしょうか。また、GPUの絶対性能があまり高くなくてもすでに述べたようにコプロによる大量のバフがありますので、実際の動画編集なんかはかなりサクサク動作するようです。

まとめ

今回、M1について調べてみて一番驚いたのはApple Siliconが元々圧倒的に速いことです。スマホ業界ではSnapdragonと戦ってるように見えますが実際はここまで違うのだな。。。と。そりゃあ、ChromebookWIndows Surface pro XでArmを積んでも遅いはずですよね。今後、M1 Macを事実上のリファレンスモデルとしてPC向けのArm CPUやSoCがもっと増えると色々おもしろそうですよね! AMDがZenベースのK12)をHSAで出せばかなり面白い感じになると思うのだけど。。。

また、今回のM1はSoCであることを強く推してるのでデスクトップ版でどういう設計にしてくるのかが気になりますね。UMAなどの構造は壊さないままSoCをマルチソケットにする感じで対応してくるのか、あるいは普通にNVidiaを指すのか。dGPUが使えるようにはするとは言ってたけど、それだとUMAじゃなくなるだろうしどういう味付けでデスクトップ版を出すのかが気になります。

私自身はまだM1 Macはエアプ勢なのですが、調べれば調べるほどなかなか面白そうで1台欲しくなってしまいますね。MBAを新調するべきか。。。しかし今は外出しないからなぁ。

それではHappy Hacking