先日Intelはプロセスロードマップを紹介するIntel Acceleratedを開催したが、これに引き続き8月18日に、やはりオンラインの形でIntel Architecture Day 2021を開催して製品ロードマップや新製品の紹介を行った。
ちなみに来週開催されるHotChips 33でIntelはAlder Lake/Sapphire Rapids/Ponte Vecchio/Mount Evansに関して論文発表を行うほか、初日のTutorial Sessionでは"Intel packaging technologies for chiplets and 3D"と題したTechnology Providerセッションを行うことになっている。こちらの方はおそらくIntel AcceleratedのFollow upになるかと思うが、逆にCPU/GPUアーキテクチャに関してはhot ChipsのPreviewが行わることになった形だ。
さて今回のお題はこちら(Photo01)で、11のトピックからなる。8月19日にTwitterのIntel Technologyアカウントが謎のMentionを出したが、答えはこちらという訳だ。以下順に説明してゆく。
Efficient Core(E-Core)
これはAlder Lakeで投入される、Tremontの後継コア(GraceMont?)である(Photo02)。Tremontの構造は以前こちらで触れたが、この新しいE-Coreである。命令デコードは3命令/cycle×2で、命令キャッシュの大容量化と分岐予測の強化(Photo03)が行われた。ただしDecodeを連動させ、Single Thread動作だと6命令/cycleが可能という構造はTremontと同じである(Photo04)。
これに続くAllocate/Rename/Issue段は5命令Allocation/8命令Issueという広大なもの(Photo05)。発行ポートは17に増えた。ALUは同時4つ、Load/Storeも4つで、Jump命令も同時2つ(+Store Dataも2つ)、さらにVector Storeが新設されており、FPUも3命令に強化と、全体的に大幅に性能が強化された(Photo06)。
Memory Subsystemには一見大きな差はない(Photo07)が、何しろAGUが4つもある上に、Buffeingのキューがより深くなるなど、性能向上への布石が打たれている。
拡張命令系で言えば、VNNIの搭載とかFMAの性能向上などが挙げられているが、AVX512そのものの搭載は引き続き見送られた模様。まぁE-Coreはサイズに制約があるから、AVX512の実装は難しいだろう。
この結果として、E-CoreはSkylakeと比較して、Single Threadの場合に同一周波数なら消費電力40%ダウン、同一消費電力なら性能40%アップとなり(Photo09)、Multi Trehadだとそれぞれ80%になる(Photo10)という説明であった。
Performance Core(P-Core)
こちらはAlder Lake/Sapphire Rapidsで投入される、Willow Coveの後継(Golden Cove?)である(Photo11)。まずフロントエンド、命令デコードはSunny Cove同様の6命令のままだか、キャッシュ容量の大容量化やPredicationの改良、Queueの大容量化などが挙げられている(Photo12)。これに続くSchedulerとIssue Portは大容量化しており、発行ポートも12に。さて、最大の特徴はついにALUが5つになったことだ(Photo14)。E-Coreでも4つだし、Sunny Cove/Willow Coveでも頑なに4つを守ってきたが、ついにここで5つに増えた格好だ。またVector側では、より高速なFADDが追加された。またLoad/Storeユニットでも、3つ目のAGU/Loadが追加され、より大量のLoad/Store発行が可能になった(Photo16)。
この結果として、Rocket LakeのCypress Coveと比較して、同一周波数であれば平均19%の性能改善が実現したとしている(Photo18)。
ついでAMXについて。これは主にSapphire Rapids向けの話になるが、Intelは新しいAMX(Advanced Matrix Extensions)と呼ばれる拡張命令を用意している。この詳細も公開されているが、ざっくり言えば行列演算向けに2次元のテーブルを2つあらかじめ用意して渡すと、その2つのテーブル間の行列演算を行って結果を返してくれるというアクセラレータである(Photo19)。これを利用する事で例えばint 8なら1cycleあたり8倍の2048演算が可能になるというものだ(Photo20)。こちらがそのAMXの構成であるが、CPUのパイプラインとは別のところに、コプロセッサの形で実装されることになる。構成的にはそんなわけでAlder Lakeには未搭載で、とりあえずはSapphire Rapidsのみとなりそうだ。
Intel Thread Director
Alder Lake世代では本格的にbigコアとLITTLEコアを組み合わせたヘテロジニアス構成になる訳だが、これをどうスケジュールするかという問題がある。この分野では既にArmが先駆者であり、ArmはLinuxのスケジューラでこれをうまく扱うための作業を随分行ってきており、同種の作業がx64にも必要になる。対象となるOSもLinuxやWindowsを始め多岐に渡るわけだが、これをアシストする機能がThread Directorである。
Thread DirectorはハードウェアとOSスケジューラの間に介在し、必要なら(つまりOSがThread Directorをサポートしていなければ)Transparencyに動くが(Photo22)、OSが認識する場合はより賢明なスケジューリングが可能になる(Photo23)。具体的に例として挙げられたのはこちら(Photo24)。Windowsの場合、Windows 11でこのThread Directorに正式対応する事が表明された。
Alder Lake
さていよいよAlder Lakeの話である。Thread Directorを搭載する最初の製品になる訳だが(Photo25)。同じBuilding Block(構成要素は異なる)で、Ultra MobileからDesktopまでカバーする事を改めて表明した(Photo26)。こちらがそのBuilding Block(Photo27)であるが
- Desktop :P-Core×8、E-Core×8、32EU GPU
- Mobile :P-Core×6、E-Core×8、96EU GPU、ThunderBold×4
- Ultra Mobile:P-Core×2、E-Core×8、32EU GPU、ThunderBold×2(いずれも最大構成)
となるとの話だ。まだこれはChiplet構成ではなくモノリシックダイの構成であるが、構成要素そのものは綺麗にBuilding Block化された、という話である。
さてそのDesktop向けだが、E-CoreはHyperThreadingが無効化されており、なのでトータルで16core/24Threadになる。またLLCは最大30MBであるが、IntelによればこのLLCはE-CoreとP-Core、それとGPUで共有できるという話であった(Photo28)。ちなみにMemoryはDDR4-3200/DDR5-4800/LPDDR4x-4266/LP5-5200にそれぞれ対応する。パッケージそのものはPhoto26にもある様にLGA1700で共通であるが、メモリはDDR4とDDR5の両対応であった。勿論両方が同時に使えるわけではない。PCIeは、Desktop向けはPCIe Gen5 x16+Gen4 x4構成。Ultra MobileはGen4 x12+Gen3 x16構成だそうだ(Photo30)。また内部のFablicの帯域は1TB/secに及ぶという話であった(Photo31)。
HPG(Intel ARC)
Intelは8月16日に、突如Discrete GPUのブランドとしてIntel ARCを発表した。最初の製品、つまり従来Xe DG2と呼ばれていたものはAlchemistというコード名になったことが明らかにされている(Photo32)。さてそのIntel ARCだが、既にソフトウェアの用意はできており(Photo33)、また今回発表された事として独自メカニズムを利用するSuperSampling(XeSS)を搭載する事も明らかにされた(Photo34)。ちなみに内部は? というとAIベースでのSuperSamplingだそうだ(Photo35)。これにより、高解像度でも負荷を低く抑えられつつ高画質を得られるとしている(Photo36)。このXeSSのSDKは今月提供開始という話であった(Photo37)。
さてそのXe Coreであるが、基本的なBlockはVector EngineとMatrix Engine(XMX)がそれぞれ16個、それにLoad Store Unitとキャッシュが組み合わされたものになる(Photo38)。このBlockにRay Teacing UnitとSampler、Pixel Backendなどを組み合わせたものがIntel ARCとなる訳だが(Photo39)、そのRay Tracing Unitの概略がこちら(Photo40)。これにL2を組み合わせたのがPhoto32の手前のダイに見える。では最上位は? というと32コア構成も用意されるようだ(Photo42)。ちなみにXe LPと比較して1.5倍の性能/電力比とされ(Photo43)、TSMCのN6を用いて製造(Photo44)とされる。またこれに続きBattlemage/Celestia/Druidという後継製品も予定されているが、これは8月16日にもアナウンスがあった話だ。
現状で言えば、そもそもMemory Subsystemがどうなっているのか? という一番肝心な話が無いので何とも言いにくいのだが、プロセスだけ見ればAMDのTSMC N7とかNVIDIAのSamsung 8N(8LPPのNVIDIAスペシャル版)より一歩進んでいるだけに、ちょっと楽しみではある。
Sapphire Rapids
次はData Center側のSapphire Rapids。IntelのXeonとしては初のチップレットアーキテクチャである(Photo46)。4つのChipletがそれぞれ単独でも動作するし、接続してコア数を増やすことも出来るという、AMDのEPYCと同じ仕組みだ(Photo47)。ちなみに今回は4ダイの構成のみの説明だが、当然SKUに応じて1/2/4ダイのものが存在するだろう(Photo48)。
さてまずCPUコアそのものはP-Coreを利用する。こちらはAVX512をサポートしていると思われる(Photo49)。コアの特徴はこんな感じで、AMXのサポートとかAiAに関してはAlder Lakeでは無効化されている機能だろう(Photo50)。コアそのものはAlder Lakeと同じだが、大きく違うのがアクセラレータの存在。先に説明したAMXのほか、IPU(Infrastructure Processing Unit)などが搭載されており、これらを活用する事でCPUの負荷を下げられるとする(Photo51)。そのうちの一つがData Streaming Acceleration Engine(DSA)。要するにDMA的にI/O処理を勝手に処理してメモリとの間で転送を行ってくれるエンジンで、これによりCPU負荷を最大39%下げられるとする。またこちらは以前からあるIntel QATでは、最大でCPUの負荷を98%下げられるとする(Photo53)。
I/O周りに言えば、UPIは外部に24レーン×4が用意され、またPCIe 5.0/CXL 1.1にも対応する(Photo54)。メモリは各ダイに2chづつなので、最大8ch構成。またOptane Persistent Memory 300シリーズにも対応するとしている(Photo55)。そして一部のSKUにHBM2が搭載されるという話は以前からあったが、ダイあたり1つづつHBMを搭載できる。この際にはHBM Flat ModeとHBM Caching Modeがサポートされる(Photo56)。
さて性能であるが、まずAI周りで言えばAMXのお蔭で圧倒的なAI処理性能を実現としており(Photo57)、またアクセラレータなどの効果もあってMicroserver向けで言えばCascade Lake比で69%の性能向上、といった数字が示された。
肝心のコア数とかに関しては現時点では未公開で、これはHotChipsあるいはさらにその先まで待たないと情報は出てこなそうだ。
IPU+Ethernet Offload Engine
サーバー向けでは今年6月、IntelはIPU(Infrastructure Processing Unit)を発表したが、この詳細が明らかにされた。これは要するにCPUとデバイスの間に入り、定型的な処理を行う事でCPUの負荷を減らすというものだ(Photo59)。実際にFacebookにおいては、様々な処理の負荷が31~88%程度に減ったとする。また、IPUを使ってStorage処理を行う事で、Diskless Serverを構築するのも容易となる(Photo61)。
これに向けてIntelはDiscrete NPUのほか、FPGAベースのFPU、さらにFPGA搭載Ethernetカードなどをラインナップするとしている(Photo62)。今回発表になったのは、Storage Accelerator向けのOak Springs Canyon(Photo63,64)、100G Ethernet×2とIPUを組み合わせたArrow Creek(Photo65,66)。さらに200G Ethernetに向けたIPUとしてMount Evansが発表された(Photo67)。Network Subsystemの構造はこんな感じ(Photo68)。Compute Complexはもっと不思議で、最大16コアのNeoverse N1である。個人的な勘だが、このMount Evans、Intelの手によるものではなく、Intelが2019年に買収したBarefoot Networkが開発していたものではないかと思う。この辺もHotChipsで説明がありそうである(初日午後に" Intel’s Hyperscale-Ready SmartNIC for Infrastructure Processing"というセッションが予定されている)。
Xe HPC & Ponte Vecchio
サーバー向けの中でも、特にHPCに向けたGPUがXe HPCである。その設計目標がこちら(Photo70)。これに向けたXe HPCであるが、基本となるXe-Coreは、先のIntel ARC向けの半分となる8エンジンである。このXe-Coreが1個あたりの性能はこちら(Photo72)。これを16個並べたのがSlice(Photo73)であり、一つのSliceには8MB L2(Photo74)となぜか16個のRay Tracing Unit(Photo75)を搭載する。このSliceを4つ集積したのがStackで、さらにHBM2eのコントローラ×4とMedia Engine、さらにXe Link×8が集積される(Photo76)。ちなみにPonte VecchioはこのStackを2つ、実装する格好だ(Photo77)。
昨年6月、Raja Koduri氏は"And..they let me hold peta ops in my palm(almost:)!"というMentionをしている。これ、仮にINT 8だとして換算すると、なんせMatrix Engineを使ってBF16/FP16の場合だと1048576 Ops/cycleで処理が出来るから、1GHz動作でも1PFlopsに到達する計算になり、一応辻褄はあっていることになる。
さて、このXe HPCの外部I/FがXe Linkである。Linkそのものはこんな感じ(Photo78)で、このLinkを各Stackあたり7本使う事で、8つのStackを密結合できる計算になる(Photo79)。
この2 Stackを1つのパッケージに集積したのがPonte Vecchioである(Photo80)。Compute TileはTSMCのN5で製造され(Photo81)、これとRambo Cacheを搭載するBase TileはIntel 7+Foverosの構成。Xe LinkはTSMC N7で製造される(Photo83)。チップ1個あたり45TFlops以上の性能であり、このモジュールを4つとSapphire Rapids×2がHPC向けシステム向けの基本構成となるようだ(Photo85)。今年末の納入が間に合わなかったAuroraは、この構成をベースに構築される事もちらっと紹介された(Photo86)。
ということで簡単ながらArchitecture Dayの概要をご紹介した。今回は個々の紹介はかなりラフであり、個別の詳細はHotChips以降ということになりそうだ。