Panthera: AmpereのCPUパフォーマンスモデル
Panthera: Ampere's CPU Performance Model (github.com)
要約
Ampere Computingは、CPUの将来的な機能の研究やマイクロアーキテクチャのトレードオフ評価のために開発した、サイクル精度を持つソフトウェアパフォーマンスモデル「Panthera」をオープンソース化しました。これにより、研究者は実際のクラウド上で稼働するAmpereOneプロセッサとモデルを比較検証できるようになり、産業界と学術界の間のギャップを埋め、より良いモデリング実践と新しいマイクロアーキテクチャのアイデアを促進することを目指しています。
全文翻訳
Panthera: AmpereのCPUパフォーマンスモデル
Pantheraは、Ampereのアーキテクチャ&パフォーマンスチームが、将来的なCPU機能の研究、マイクロアーキテクチャのトレードオフ評価、および高性能クラウドプロセッサの開発をガイドするために構築したサイクル精度のソフトウェアパフォーマンスモデルです。
Pantheraおよび関連ツールのビルドと使用方法については、ユーザーガイドを参照してください。
Pantheraをオープンソース化した理由
従来、本番シリコンでキャリブレーションされた産業グレードのパフォーマンスモデルは、厳重に管理された企業秘密でした。私たちは、より広範なコンピュータシステムおよびアーキテクチャコミュニティが、最新の商用グレードのモデリングインフラストラクチャにアクセスすることから計り知れない恩恵を受けることができると信じているため、Pantheraをオープンソース化することを決定しました。AmpereOneは主要なクラウドプロバイダー全体で積極的に展開され、アクセス可能であるため、研究者は、ソフトウェアモデルを実際の稼働中のシリコンと直接相関させ、実験し、研究するという前例のない機会を得られます。
Pantheraを世界に公開する理由は以下の通りです。
1. モデルと実シリコンの相関
数十年にわたり、学術的なコンピュータアーキテクチャの研究および大学院教育は、学術シミュレータに大きく依存してきました。これらのツールは基礎的ではありますが、商用サーバープロセッサの複雑な現実やトレードオフからしばしば乖離します。
Pantheraは、CPU製品の設計のために開発された産業強度のパフォーマンスモデルを提供することで、この乖離を埋めます。Ampereプロセッサはパブリッククラウドで広く利用可能であるため、研究者、教育者、実務家は、このモデルと実際の製品シリコンの両方でワークロードを実行できます。これにより、コミュニティは現実的なマイクロアーキテクチャのベースラインに対してアイデアを検証し、本物のサーバーコンテキストでコンセプトを評価し、アーキテクチャの「本質」を「雑音」から分離することができます。
2. 実世界のアーキテクチャクラフトマンシップの共有
Pantheraは、半導体業界全体で数十年の経験を持つCPUアーキテクトによってゼロから構築されました。モデリングの抽象化は、高性能CPUの構築中に得られた実践的な教訓を反映しています。私たちは、catscanのようなコンパニオンツールと共にこのインフラストラクチャを共有することで、産業界と学術界の間のオープンな協力を促進し、より良いモデリング実践と新しいマイクロアーキテクチャのアイデアの種をまくことを目指しています。
3. AI時代の「低バックグラウンド鋼」
低バックグラウンド鋼とは、大気圏核実験前に鍛造され、バックグラウンド放射線を含まない鋼を指し、高感度な科学機器のベースラインとして珍重されます。
同じ精神で、Pantheraはコンピュータシステムのための低バックグラウンド鋼を表します。これは、生成AIの時代以前に、人間のアーキテクトによって完全に構想、設計、手作りされた、エンドツーエンドの産業グレードのパフォーマンスモデルです。このリポジトリは、45人による8年以上の作業と6000回の個別のgitコミットを表しています。この人間が作成したコードベースを公開することで、人間のエンジニアと将来の自動化されたハードウェアモデリングツールの両方にとって、信頼できる高水準の参照として役立つことを願っています。
プロジェクトステータスとコミュニティ利用
Pantheraは、寛容なオープンソースライセンスの下で、パブリックなリファレンス実装としてリリースされています。Ampereはこのパブリックリポジトリに対して商用サポートやアクティブな機能ロードマップを提供しませんが、コミュニティがコードベースを探索し、研究用に適応させ、新しいアーキテクチャ探求のためにフォークすることを積極的に歓迎します。
製品とマイクロアーキテクチャ
コードネームデコーダーリング
リポジトリ内の設定ファイルでは、SoC製品およびその中のカスタムコアにコードネームが使用されています。外部マーケティング名とエンジニアリング名の間のクイックデコーダーリングを以下に示します。
| 製品 | SoC名 | コア名 |
|---|---|---|
| AmpereOne | Siryn | Furiosa |
| AmpereOne X | Banshee | Ripley |
| AmpereOne MX | Rogue | Trinity |
| AmpereOne Aurora | Domino | Connor |
| AmpereOne Next | Nebula | Alita |
Furiosa
Pantheraは、Ampereプロセッサのいくつかの世代をモデル化しています。AmpereOne(Siryn)モデル構成には、高性能で低消費電力のクラウドコンピューティング向けに設計された、当社のオリジナルのカスタムコアであるFuriosaが含まれています。Furiosaマイクロアーキテクチャノートで詳細を説明しています。
[画像: AmpereOne (Siryn) の Furiosa コアのフロアプラン。]
後続世代
製品フロアプランギャラリーは、AmpereOne、AmpereOne X、AmpereOne MX、AmpereOne Auroraのフロアプランを、それらのSoCおよびコアのコードネームにマッピングします。これらの各コアは、前のマイクロアーキテクチャの上に構築されています。同様に、当社のモデルは前の世代の上に構築される「デルタ」構成を使用しています。