英Armは英国時間の5月29日、2024年のClient Platformである「CSS for Client 24」と、新たに「Kleidi」と呼ばれるソフトウェアフレームワークを発表した。事前説明会の資料を基に、まずその概要をご紹介したい。

これまでArmはクライアント向けには「TCS(Total Compute Solution)」と呼ばれるセットを提供しており、2021年の「TCS 21」からスタート。昨年にはTCS 23を発表した

以前のロードマップでは今年はTCS 24がアナウンスされる予定だった。その一方でNeoverse向けにはNeoverse Compute Subsystemを昨年すでに発表済であり、また今年3月には自動車向けとなるAutomotive Compute Subsystemを発表している

となると、CSSとTCSは何が違うんだ? という話になりかねない訳で、名前をCSSに寄せる事にしたようで、TCS 24はCompute Subsystem for Client(Photo01)として発表された。

  • CSS for Client 24

    Photo01:なのでCSS for Client 24という扱いになる訳だ

このCSS for Clientは3nmプロセスでの実装を前提にしているという事は何度か説明されている(Photo02)。

  • 3nmはFinFET、GAAともに対応する

    Photo02:この3nmというのはFinFETの方なのか、GAAの方なのか? と確認したところ、両方に対応するという話であった。ということはTSMCとSamsungは確定で、Intelはどうなんだろう? という感じである

さらに言えば、TCSは言わばRTLに近い状態(つまりある程度パラメータは最適化されているが、物理設計は行う必要がある)での提供なのに対し、CCS for ClientはGDS一歩手前、NetListに近い状態での提供となるという話で、要するにかなり物理設計を完了させた状態での提供となる。完全に完了させたわけはないのは、まだ細かいパラメータ(例えばL3容量とか)を顧客が選択できるようにしているためであろう。これは当然TCSの場合に比べると、物理設計の時間の短縮が可能となっている。

さてこのCSS for Client 24でUpdateされたのが、Cortex-X925である(Photo03)。

  • そろそろCortex-AとXで番号が違うのを何とかしたいと思ったらしい

    Photo03:そろそろCortex-AとXで番号が違うのを何とかしたいと思ったらしい。もちろん、この性能向上には3nmを利用する事が大きく寄与している

IPCとしての向上率は不明だが、Single Thread Performanceで36%の向上、またAI Performanceで41%の向上を実現したとしている。Decode段の拡充は兎も角Vectorの拡充というのは、256bit幅(256bit×2)の実装にした(Cortex-X4は128bit×2)ということだろうか? と思ったが、確認したところ128bit×2のままとの返事であった。

一方GPUの方もImmortalis-G925に進化した(Photo04)。

  • 細かい構成は不明

    Photo04:細かい構成は不明。ここでは14coreのImmortalis-G925と12coreのImmortalis-G720の比較だが、14coreが構成上の上限かどうかも判らない

3Dの描画性能で37%、AIのInferenceで34%、Ray Tracingで52%の性能改善が図られたとしている。もっとも3DやAIはともかく、Ray Tracingは元の性能が低いので、52%向上してどこまで使えるようになったかはやや微妙な感じはある。

その他のコンポーネントは基本的にTCS 23の延長にあるが、Cortex-A720はCortex-A725に更新され、性能/消費電力比が35%向上、Cortex-A520は同じく15%向上、GPUは消費電力が30%削減されたとする(Photo05)。

  • プロセス微細化がどの程度貢献しているのかは不明

    Photo05:この効率向上に、プロセス微細化がどの程度貢献しているのかは不明。ちなみにDSA-120などもやはり何かしら改善が施されているものと思われる

このCSS for Client 24を利用する事で、TCS 23世代と比較してユーザビリティを大幅に改善している事が示された(Photo06)。

  • Androidでの性能をGoogleと共同で改善したそう

    Photo06:これに関してはAndroidでの性能をGoogleと共同で改善したそうだ

またGamingに関しては、Unreal EngineがImmortalisにNativeでRay Tracingを生成できるようになることが今回発表された(Photo07)。

  • Lumen Raytracingのみの対応だとは思う

    Photo07:あくまでもLumen Raytracingのみの対応だとは思うが

もう1つ今回発表されたのは、「Arm Kleidi」である(Photo08)。

  • Kleidiの目標

    Photo08:従来のAI workloadの70%は、実際にはCPU上で稼働しており、なのでこれをより高効率にCPU上で実行できるようにする、というのがKleidiの目標だそうで、さらにそれをOpen SourceのLibraryの形で提供するということだそうだ

これは言ってみれば新しいミドルウェアであり、Armv9aというかCSS for Clientに最適化された機能を提供する、というものである。まず最初に提供されるのは「KleidiAI」と「KleidiCV」の2つであり(Photo09)、KleidiAIはNEONとSVE2、さらに将来的にはSME2(Scalable Matrix Extension 2)をカバーするものとなる(Photo10)。

  • それぞれArmNNとOpenCVを置き換えるものとなる

    Photo09:それぞれArmNNとOpenCVを置き換えるものとなる模様。というよりもAPIは恐らくArmNNやOpenCVと同じであり、ただし内部で高速化を図ったものとなる模様

  • SVE2はともかくSME2はこれまで規格は発表されていたものの実装が行われていない

    Photo10:SVE2はともかくSME2はこれまで規格は発表されていたものの実装が行われていない。今回のCSS for Client 24でもまだ未実装との事

一方でKleidiCVはOpenCVをNEON/SVE2上で動かすことで、最大75%高速化されるとする。

  • 従来のOpenCVのKernelをKleidiCVベースのものに置き換えてビルドし直しただけで性能が75%向上した

    Photo11:これは従来のOpenCVのKernelをKleidiCVベースのものに置き換えてビルドし直しただけで性能が75%向上した、という話だそうだ

今回の事前発表では、あまり細かな話は公開されていない。6月3日にはCOMPUTEX 2024で同社のRene Haas CEOによる基調講演が行われるので、ここでもう少し情報が追加される可能性がある。このあたり、新情報があり次第、また追加レポートをお届けしたい。