その4は周辺回路周りをご紹介したい。

参考記事:
・「Meteor Lake」Deep Dive その3 - AI NPU Detail
https://news.mynavi.jp/article/20231005-2785788/
・「Meteor Lake」Deep Dive その2 - Processor Detail
https://news.mynavi.jp/article/20230921-2776351/
・「Meteor Lake」Deep Dive その1 - Intel 4 Process Update
https://news.mynavi.jp/article/20230920-2774916/

まずはGPU Tileの話である。Meteor LakeではGPUがXe LPGになった。Alder Lake/Raptor LakeはXe LPであり、基本的な構造そのものが異なっている(Photo01)。どう変わったか、という話は後述するとして、Alder Lake/Raptor LakeのXe LPコアと比較するとより低消費電力で、かつ動作周波数を引き上げられるようになったとしている(Photo02)。

  • 「Meteor Lake」Deep Dive その4 - GPU、IO & SoC Detail

    Photo01: Xe LP比で言えば同一消費電力で2倍の性能としている。ただXe HPGと比較してどうか、も示して欲しかったところ。

  • Photo02: ただこれ、アーキテクチャの改良というよりはプロセス(Xe LPはIntel 7、Xe LPGはTSMC N5)の違いな気がするのは気のせいだろうか?

そのXe LPG、構成的には8 Xe-Coreで128 Vector Engine、8 Ray Trace Unitといったもので、Raptor Lake世代のXe LPと比較して凡そ1.33倍の構成であり、かつRay Tracing Unitが新規に追加された形だ。Render Sliceは2つに分かれており、1 Slice毎にXe Coreが4つという構成はむしろDiscrete向けのXe HPGに倣った格好だ。ただしここに搭載されるのはVector Engineのみで、Xe HPGで搭載されていたXMXことMatrix Engineは搭載されていない(Photo04)。ただしVector Engineが256bit幅なのはXe HPGと共通であり、なのでVector Engineだけを使っている分にはXe HPGと性能は変わらないことになる。ではそのVector EngineことVXEの中身は? というのがこちら(Photo05)。Xe-LPのEUと比較した場合

  • FPUとINTが別々の演算ユニットに分離された。しかも両方が同時に稼働可能である。
  • FP64のユニットが新たに追加された。

点が大きな違いとなる。

  • Photo03: 同列に比較するのも難しいが、Raptor Lakeだとモバイル向けのH SKUが最大96EUだったから、EU数が1.33倍に増えた計算になる。

  • Photo04: L1は192KB。

  • Photo05: 例えばIntなりFPなり「だけ」であれば、演算性能はXe LPのEUと同じである。ただEM(Extended Math)をFPと並行して使えるのは大きなメリットである。あと、FP64を搭載したのは凄いのだが、どういうニーズを想定しているのだろう?

またこれとは別に、INTユニットにDP4Aの演算機能が追加されたのもXe LPやXe HPGとの大きな違いである(Photo06)。DP4Aは4項目のDot Product(ドット積)を計算するというもので、要するにsrc1とsrc2の4要素同士を掛け算し、その結果を全部加算するというもので、これはCNNで多用される畳み込み演算に効果がある。AIの所でもちょっと説明したが、DirectMLではDirectX 12でサポートされたShader Model 6.4に基づき、GPUにDP2A/DP4Aの処理ハードウェアがあった場合、これを利用する事が可能になっている。一番良い例がXeSSで、これによりRadeonでもXeSSが使える様になっている訳だが、Xe LPGではXMXを省いた代わりにVXEでこのDP4Aを処理可能にしたことで、AI処理にGPUを利用する事が可能になっている。またバックエンドに関しても、基本はXe LPやXe HPGと同じだが、新たにOut of Order Samplingが搭載された(Photo08)としている。

  • Photo06: Xe HPGはXMXユニットでDP4Aの演算が可能なので、そもそもVectorユニットにはDP4Aの処理機能が入っていない。

  • Photo07: "New with Xe LPG"の"Larger engine, higher clocks"はNew Featureでは無いと思う。

  • Photo08: このOut of Order Sampling、Intel Innovationのテクニカルセッションで説明があった事は判っている(筆者は別のセッションに参加していた)のだが、今だに資料が出てこないために詳細は不明である。

性能に関してはまだ製品発表前という事もあり具体的な数字は示されていないが、コンポーネント別の性能比較ではRaptor Lakeと比較して2倍以上の性能とされ(Photo09)、またBlenderでRay tracingを実施した場合にはCPUの倍以上の処理性能を発揮しているとする(Photo10)。

  • Photo09: Appendixを見ても一切詳細が掲載されていないので良く判らないが、どうもこれはIntel内製のベンチマークの結果らしい。

  • Photo10: といってもCPUの倍程度だから、DXRT対応のゲームがどこまで動くかというとちょっと怪しい気も。まぁ内蔵GPUにそこまで求めるなという話でもある。

現状、GPU Tileがどの程度の動作周波数で稼働するかは不明だが、Raptor LakeベースのCore i9-13900HKだと96EU、1.5GHz駆動だから処理性能は2.25TFlopsほど。同じようにGPU Tileが1.5GHz駆動だと処理性能は3TFlopsになる計算で、確実に処理性能は増しているものの、大きなジャンプという訳では無い。もっとも大きなジャンプをするには、メモリ帯域が限られるというボトルネックを何とかする必要がある。恐らくこの辺がバランスの良いポイントと判断された可能性がある。

ところでMeteor LakeではMedia EngineとDisplay EngineはSoC Tile側に移された(Photo11)。そのMedia Engineの基本的な要求というのがこちら(Photo12)。AVCやHEVCは勿論、AV1のEncode/Decodeが普通に出来る必要があるという話で、この辺はIntel Arcの機能をそのまま汲んでいる格好だ。構造的にも、Intel Arcに搭載されたMedia Encoderそのままという感じである(Photo13)。

  • Photo11: 省電力メカニズムを実装しやすいのはSoC Tileであり、例えば動画の再生中などはこの方式だとGPUとCPUの両Tileをシャットダウンしても問題なかったりするわけで、これは合理的である。

  • Photo12: 一番下のAI Inferenceは画像に対してAI処理を行う場合の話。これをMedia Engine側で行うから、NPUの方にはもうVision Processingの機能が不要になったというわけだ(カメラ映像からの処理の場合はISPが動くことになる)。

  • Photo13: 強いて言えばIntel ArcはVideo Enhancer/HDR Tone Mapper/Bayer ProcessorがMFX別に2つ用意されていたが、Meteor Lakeではこれが共通化されているのが違いと言える。

またDisplay Engineは最大4画面出力が可能なものになっており(Photo14)、またPanel Self Refresh以外にSelective Update and Hardware Queuingによる省電力メカニズムも実装されたとする(Photo15)。

  • Photo14: DisplayPort 2.1にも対応するが、1レーンの20Gまでとなっている。

  • Photo15: PSR(Panel Self Refresh)は表示内容をパネル側で保持することで不要な画面更新を止める事で省電力化を図るものだが、これをさらに推し進めてCPUコアも省電力モードに落とせる、というもの。

次はSoC Tileの話である。Photo16は従来のシステム構成、Photo17がMeteor Lakeのシステム構成である。ここでNOCはCoherent Fabric、つまりCache Coherentが保たれるI/Fになり、基本的には高速なデバイス&直接メモリを触るデバイスが接続される形になる(Photo18)。一方のIO FabricはCache Non-CoherentなBusであり、ThunderboltやPCI Expressなどは全てここにぶら下がる格好だ(Photo19)。ちなみにI/O Deviceでは無いが、Security関連デバイスもやはりIO Fabricの下にぶら下がっている(Photo20)。

  • Photo16: Raptor Lakeまでの基本構成がこちら。中にはワンチップのものもあるが、その場合でも内部的にはこれと同じ構成となる。

  • Photo17: 新しくNOCがシステム全体のInterconnectとして存在し、そこにIO Fabricがぶら下がる事になる。ちなみにPunitはPower control unitの意味。

  • Photo18: ここでIO TileがNOCに繋がっていないため、原理的にMeteor LakeはCXLを利用できない事になる(CXLを利用するためにはCache Coherentなアクセスが必要になる)。

  • Photo19: OrderingがPCIeというあたり、このIO Fabricの実態は従来のIOSFではなく、PCI Expressベースの何かの可能性もある。実際そのほうが管理としても楽だろう。

  • Photo20: Security SiliconがIO Fabricの下というのは、膨大なトランザクションを処理させるには不向きではあるのだが、そこまでの煩雑なセキュリティトランザクションは無い、と判断しているのだろう。

また電源管理は、NOC用にはPunit、IO FabricにはPMCがそれぞれ搭載されており、これで複数のTile全体の管理を行う形になっている(Photo21)。

  • Photo21: この管理バスはNOC/IO Fabricとは別に専用のI/Fが利用される模様。

ということで4回に渡ってMeteor Lakeの特徴をご紹介してきた。全体としてみると、確かに様々な工夫が施されているし、懸案のIntel 4も確実に量産を行うための工夫&利用範囲をCPU Tileに限るといった方策で安定して量産体制に入れるように工夫されている。その意味では年末に量産出荷が始まるであろう事そのものは疑う余地はなさそうだ。問題は、その性能と消費電力がIntelが言うほど優れた物かどうか、である。こればかりは実際に製品を評価して見ないと判らない所である。とりあえず年末までに評価の機会に恵まれれば嬉しいのだが。