## 定義 特定の問題領域(ドメイン)に特化して設計されたプロセッサアーキテクチャ。プログラマブルかつ多くの場合チューリング完全でありながら、特定クラスのアプリケーションに合わせて調整されている点で、単一機能に固定された ASIC とは異なる。汎用 CPU に対して大幅な性能・エネルギー効率の向上を実現するため「アクセラレータ」とも呼ばれ、GPU・ニューラルネットワーク処理装置(TPU 等)・SDN 向けプロセッサがその例に含まれる(Source: [[@2019__CACM__A New Golden Age for Computer Architecture]])。 ## DSA が高効率を実現する4つの理由 [[@2019__CACM__A New Golden Age for Computer Architecture]] は DSA が汎用 CPU より高い性能・エネルギー効率を達成する理由を次の4点に整理する。 1. **より効率的な並列性の活用**: 単一命令ストリームで済む SIMD(Single-Instruction Multiple-Data)は、命令フェッチを1本で済ませられる分、MIMD より効率的であり、多くのドメインに適合する。DSA は VLIW 的な ILP 活用も選択肢にでき、投機的アウトオブオーダー機構より単純な制御機構で済む。 2. **メモリ階層のより効果的な活用**: メモリアクセスは演算より遥かにコストが高い(32KB キャッシュへのアクセスは32ビット整数加算の約200倍のエネルギーを要する)。DSA はキャッシュではなくユーザー制御メモリを用いることで、動的に割り当てられるキャッシュより省エネルギーな階層を構築できる。 3. **必要十分な精度の使用**: 汎用 CPU は32/64ビットの整数・浮動小数点をサポートするが、多くの機械学習・グラフィックス用途ではそこまでの精度は不要。深層ニューラルネットワーク(DNN)推論では4/8/16ビット整数、DNN訓練でも32ビットより16ビット浮動小数点で十分な場合が多く、データ・演算スループットの両方が改善する。 4. **ドメイン固有言語(DSL)を対象にできる**: Matlab・TensorFlow・P4・Halide のような DSL はベクトル・密行列・疎行列演算やメモリアクセス構造を明示化でき、コンパイラがハードウェアへ効率よくマッピングしやすい。Python・Java・C・Fortran のような汎用言語から同じ構造を抽出するのは困難である。 ## 事例: Google TPU v1 DSA の具体例として、深層ニューラルネットワーク推論を高速化するために設計された Google Tensor Processing Unit(TPU v1、2015年から本番稼働)が紹介される。中心的な演算ユニットは256×256の Systolic Array 構造を持つ Matrix Multiply Unit(64Kの積和演算/サイクル)であり、8ビット精度・高効率な Systolic 構造・SIMD 制御・専用チップ面積の組み合わせにより、汎用シングルコア CPU の約100倍の積和演算スループットを持つ。DRAM ベースのキャッシュの代わりに24 MBのローカルメモリ(2015年当時の汎用 CPU の約2倍の容量)を用いる。Google データセンターの6種の代表的推論ワークロードの加重平均で、TPU v1 は汎用 CPU 比29倍高速、消費電力は半分以下のためエネルギー効率は80倍超優れる(Source: [[@2019__CACM__A New Golden Age for Computer Architecture]])。 ## 教科書版: DSA 設計の5指針と4実例の比較 [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 7 Domain-Specific Architectures]] は DSA 設計の指針を5点にまとめる: (1) 専用メモリでデータ移動距離を最小化する、(2) 高度なマイクロアーキテクチャ最適化(アウトオブオーダー実行・投機実行・マルチスレッディング等)を捨てて浮いた資源を演算器・メモリの増強に投資する、(3) ドメインに合った最も単純な並列性の形態(SIMD・MISD・VLIW・MPMD 等)を選ぶ、(4) データサイズ・データ型をドメインが必要とする最小限まで削る、(5) ドメイン固有言語(DSL)でポーティングの負担を下げる。 この5指針の適用度合いを、[[Google TPU]](データセンター ASIC・TensorFlow)・[[Microsoft Catapult]](データセンター FPGA・Verilog)・[[Intel Crest]](データセンター訓練用 ASIC・TensorFlow)・[[Pixel Visual Core]](PMD 向け ASIC/SOC IP・Halide/TensorFlow)の4実例で比較する。TPU は単一命令ストリームの決定論的実行モデルにより99パーセンタイルレイテンシ制約に適合し、Catapult は FPGA の再構成性でデータセンターの均質性を保ちながら複数アプリケーションへ転用され、Pixel Visual Core は二次元 SIMD・halo・二次元ラインバッファという画像処理特化の機構を持つ(Source: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 7 Domain-Specific Architectures]] §7.2, §7.4-§7.7)。 ## 横断的知見 - **IPU/DPUはDSAの系譜に連なる「オフロード用汎用エンジン」である**: [[@2019__CACM__A New Golden Age for Computer Architecture]] は GPU・TPU を念頭に、DSA が汎用 CPU より高い性能・エネルギー効率を達成する一般原則(並列性の活用・メモリ階層の効果的な活用・必要十分な精度・ドメイン固有言語(DSL)の活用)を論じた。ネットワーキング分野の IPU/DPU(Intel IPU、NVIDIA・Pensando の DPU)も同じ「特定のタスクに特化しつつ高い柔軟性を持つプロセッサ」という系譜に位置づけられる。ch.10 §10.2 は GPU・TPU を明示的に引き合いに出し、「暗号資産のマイニングから機械学習、そしてグラフィックス処理に利用されている GPU や TPU はかなり柔軟だが、それでも CPU に比べると特化されたプロセッサである」としたうえで、DPU・IPU を同じ系譜の延長として位置づける。DSA の4要因のうち、ドメイン固有言語(DSL)の活用が、IPU/DPU では P4 プログラマブルなデータプレーン(PISA)という形で共通して現れており、DSA 一般論がネットワーキング専用プロセッサにも直接当てはまることを示す。(Source: [[@2019__CACM__A New Golden Age for Computer Architecture]], [[@2026__LambdaNote__ネットワークシステムについて語るときに我々の語ること - Chapter 10 SmartNIC、IPU、DPU]]) - **CACM論文の「4要因」は教科書の「5指針」のうち並列性・メモリ階層・精度の3つに対応し、教科書はさらに「並列性の形態を絞る」ことそのものを独立した設計判断として明示する**: [[@2019__CACM__A New Golden Age for Computer Architecture]] の4要因(並列性の活用・メモリ階層の効果的な活用・必要十分な精度・DSL の活用)と、[[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 7 Domain-Specific Architectures]] の5指針は、同一著者(Hennessy & Patterson)による独立した2つの媒体(Turing講演のCACM論文と教科書第6版)でほぼ同じ主張を再録している。ただし教科書は指針(2)「高度な最適化を捨てて浮いた資源を演算器・メモリへ再投資する」を指針(1)「専用メモリでデータ移動を最小化する」から明確に分離し、TPUの65,536個のALUがCPU比250倍・GPU比25倍という具体的な演算器数の比較で(2)を裏づける。CACM論文の「メモリ階層の効果的な活用」という1項目が、教科書では「データ移動の最小化」と「演算器への再投資」という2つの独立した設計判断に分解されている。(Source: [[@2019__CACM__A New Golden Age for Computer Architecture]], [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 7 Domain-Specific Architectures]] §7.2) - **4実例の比較(TPU・Catapult・Crest・Pixel Visual Core)は、CACM論文が単一事例(TPU)で示した優位性が、ASIC・FPGA・PMD向けIPブロックという異なる実装形態でも成り立つかを検証する**: CACM論文はTPU一例のみでDSAの優位性(CPU比29倍・80倍超のエネルギー効率)を示すが、教科書は同じ5指針がFPGA(Catapult、性能/TCO 1.5〜1.75倍)やPMD向けIPブロック(Pixel Visual Core、CPU比100倍・GPU比25倍のエネルギー効率)でも異なる度合いで満たされることを示す。特に Catapult は指針(5)「DSL でのポーティング」を満たさず(Verilog/VHDLというRTLで開発)、Crest は指針(1)(2)の詳細が非公開(N.A.)であり、5指針すべてを満たすことがDSAの必要条件ではなく、満たす指針の組み合わせによって得られる優位性の性質(汎用性 vs 性能)が変わることを示唆する。(Source: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 7 Domain-Specific Architectures]] §7.5, §7.6, §7.9) - **TPU v1一次資料は、本ページが「事例」節で教科書・CACM論文経由(secondary source)にのみ依拠していたCPU比29倍・エネルギー効率80倍超という数値を、production計測で直接裏づける、DSAという設計思想そのものの本番証拠(production evidence)である**: [[@2017__ISCA__In-Datacenter Performance Analysis of a Tensor Processing Unit]](Jouppi+, ISCA2017)は、TPU v1が2015年から6週間以上にわたりGoogleデータセンターの本番推論ワークロード(6アプリ、TPU用途の95%を占める)で実測された一次資料であり、本ページの「事例: Google TPU v1」節・「教科書版: DSA設計の5指針」節が引用する数値(CPU比29倍・エネルギー効率80倍超)がいずれもこの一次資料に遡ることを確認する。同時に一次資料は、DSAが汎用機構(キャッシュ・分岐予測・アウトオブオーダー実行・投機的プリフェッチ・マルチスレッディング・アドレスコアレッシング・コンテキストスイッチ)を一切持たないことを「ミニマリズムはドメイン固有プロセッサの美徳である」と明示的に述べ、本ページの指針(2)「高度な最適化を捨てて浮いた資源を演算器・メモリへ再投資する」がTPUでは単なる資源再配分ではなく設計哲学そのものとして語られていることを示す。(Source: [[@2017__ISCA__In-Datacenter Performance Analysis of a Tensor Processing Unit]] §4, §8) - **本ページが依拠するHennessy & Pattersonの2018年Turing Lectureは、[[AI Chip Architectures]]が扱う2026年時点の6アーキテクチャ比較の直接の出発点として再び引用されている**: 同記事は本ページの初出ソースと同一のTuring Lecture("A New Golden Age for Computer Architecture")を冒頭で引用し、「次の10年でアーキテクチャのカンブリア爆発が起きる」という予言が的中した例としてNVIDIA GPU・[[Google TPU]]・[[AMD]] Instinct・[[Cerebras]] WSE・[[AWS Trainium]]・[[Groq]] LPUの6アーキテクチャを位置づける。本ページのDSA5指針(専用メモリ・演算器への再投資・単純な並列性・最小精度・DSL)は、8年後のこれら6アーキテクチャそれぞれで異なる形に具体化されている: 指針(1)専用メモリは全アーキテクチャ共通(TPUのVMEM、TrainiumのSBUF、CerebrasのSRAM専用設計)、指針(2)演算器への再投資はNVIDIAのTMEM(専用アキュムレータメモリでレジスタファイルを解放)やGroqのキャッシュ/分岐予測器/アービタの完全排除に、指針(3)単純な並列性の形態選択はGoogleのVLIW(322-bit、8スロット)やGroqの完全決定論的スケジューリングに、指針(5)DSLはXLA/Pallas(TPU/Trainium共通)・CUDA(NVIDIA)・ROCm/Triton(AMD)としてそれぞれ異なる形で現れる。TPU一例で始まったDSAの実証が、8年後には少なくとも6つの独立した設計哲学へ分岐したことを示す縦断的な追跡例である。(Source: [[AI Chip Architectures]]) - DNN 向け DSA の設計空間はハードウェア単体の最適化(データフロー・精度削減を含まない演算の高速化)と、DNN モデル・ハードウェアの協調設計(精度に影響し得る量子化・枝刈り・コンパクトアーキテクチャ)の2軸に整理できる(Source: [[@2017__IEEE__Efficient Processing of Deep Neural Networks]])。 ## 未解決の問い - DSA が高い性能・効率を発揮する4要因(並列性・メモリ階層・精度・DSL)は TPU 以外の DSA(GPU・FPGA・SDN プロセッサ)でどこまで定量的に裏付けられるか。 - DSL の移植性(異なる DSA 間でのソフトウェア可搬性)と効率の間のトレードオフは、その後どのように解決されているか。 - RISC-V のようなオープン ISA と DSA の組み合わせ(カスタムオペコード空間の活用)は、その後どのような実例を生んでいるか。 - IPU/DPU は DSA の4要因(並列性の活用、メモリ階層、精度、DSL)のうちどれを具体的にどう満たしているか。ch.10 は DSL としての P4 の役割には触れるが、並列性・メモリ階層・精度の観点からの定量分析はない。 - 教科書の5指針のうち(5)「DSL でのポーティング」を満たさない Catapult(RTL/Verilog)が性能/TCO で正の結果を出せた理由は何か。FPGA の再構成性がDSLの不在を補っているのか、それとも指針(5)はASICほどFPGAには重要でないのか。 - TPU一次資料([[@2017__ISCA__In-Datacenter Performance Analysis of a Tensor Processing Unit]] §8)は「NN推論ハードウェア向けの性能カウンタは後付けであり、まだ足りない」と自己批判するが、この教訓はTPU以外のDSA(Catapult・Crest・Pixel Visual Core)でも同様に成り立つか。DSA一般に共通する「計装(instrumentation)の後回し」という設計上の傾向として一般化できるか、TPU固有の開発期間の短さ(15か月)に起因する例外か。 ## 関連 - ILP・メモリ階層の限界との対比 → [[メモリウォール]] - VLIW 的な ILP 活用との関係 → [[VLIW]] - オープン ISA としての RISC-V(DSA 実装の基盤) → [[RISC-V]] - ネットワーキング分野の DSA 系譜 → [[Intel IPU]] / [[スマートNICオフロード]] - 4実例のエンティティ → [[Google TPU]] / [[Microsoft Catapult]] / [[Intel Crest]] / [[Pixel Visual Core]] - 終焉の帰結としてのDSA → [[ムーアの法則とデナードスケーリングの終焉]] - 2026年時点の6アーキテクチャへの分岐 → [[AI Chip Architectures]] / [[AIアクセラレータ]] / [[AMD]] / [[Cerebras]] / [[AWS Trainium]] / [[Groq]] - TPU v1のproduction本番証拠 → [[@2017__ISCA__In-Datacenter Performance Analysis of a Tensor Processing Unit]] / [[Norman P. Jouppi]] - ソース: [[@2017__IEEE__Efficient Processing of Deep Neural Networks]] - エンティティ: [[Eyeriss]] ## 出典 - [[@2019__CACM__A New Golden Age for Computer Architecture]] - [[@2026__LambdaNote__ネットワークシステムについて語るときに我々の語ること - Chapter 10 SmartNIC、IPU、DPU]](IPU/DPUをGPU・TPUと並ぶ特化型プロセッサの系譜として位置づける記述) - [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 7 Domain-Specific Architectures]] §7.2, §7.4-§7.7, §7.9(DSA設計の5指針、4実例の比較、Rooflineモデルによる性能比較) - [[AI Chip Architectures]] — 同一のTuring Lectureを起点に2026年の6アーキテクチャ(NVIDIA/TPU/AMD/Cerebras/Trainium/Groq)へDSA5指針がどう具体化されたかを追跡 - [[@2017__ISCA__In-Datacenter Performance Analysis of a Tensor Processing Unit]](Jouppi+, ISCA2017。TPU v1の設計・production性能評価の一次資料)