skip to Main Content
『半導体業界の第一人者、AI業界を行く!』 Vol.3:AMD が Xilinx を買収した技術戦略を読み解く

こんにちは、ハカルス 東京R&Dセンター所属のエッジ・エバンジェリスト 田胡治之です。この連載では、半導体業界で長年知識や情報を得てきた私、田胡がこれまでと異なるAI業界に飛び込み、そこから感じる業界のニュースやトピックを独自の視点で紹介したいと思います。


第三回のテーマは第一回に負けず劣らずのビッグニュース、半導体メーカー AMD の Xilinx 買収です[1][2]。技術者から見た買収の意味を考えてみました。AMD社 は現在 CEO Ms. Lisa Su と CTO Mr. Mark Papermaster が率いています。筆者は 2001~ 2006年頃、Cell マイクロプロセッサ共同開発チームの一員として当時IBM社 の両名の知己を得、優れたリーダーシップと戦略性に感心したことを思い出しました。

Ms. Lisa Su, president and chief executive officer of Advanced Micro Devices Inc. (AMD)

 

急速に拡大するデータセンター用GPU

「2021年にはデータセンター用プロセッサ市場におけるGPUのシェアが、CPUに迫る規模に成長する――。」米アドバンスト・マイクロ・デバイセズ(AMD)のリサ・スー(Lisa Su)社長兼CEO(最高経営責任者)は2018年11月6日(米国時間)に米サンフランシスコで開催した記者説明会でそのような見方を示しました。

AMDのスーCEOによれば、データセンター用プロセッサの市場規模は、現在の200億ドルから2021年に290億ドルまで成長する見込みです。特にGPUは年率数十%の勢いで成長し、市場全体の4割程度を占めるようになると予想されています。今後の成長が期待される大規模シミュレーションやディープラーニング(深層学習)などが、GPUに向いたワークロードだからというのがその理由です[3]。

 

汎用CPU性能向上の鈍化

いわゆる x86アーキテクチャのCPU、(本稿では汎用CPU/General Purpose CPU と呼ぶ)は、ノートPC(Core-ixなど)からデータセンターのサーバー(Xeon, EPYCなど)に広く使われています。

下に表示したグラフ Figure1 [4]は、その性能向上の歴史を約40年間(1980年 ~ 2020年)に渡って示しています。様々な技術革新により、1980年の性能を1 とした場合2020年の性能比は数万に達し、驚異的に向上しました。しかし近年の成長率は 年率3%に留まっています。

Figure1 Growth of computer performance using integer programs (SPECintCPU) [5] に加筆

ドメイン固有アーキテクチャ(Domain Specific Architecture: DSA)の台頭

一方で,計算能力への要求は留まるところを知らずに高まるばかりです。AIの一分野,深層学習(Deep Learning)への要求計算能力一例を Figure 2 [5]に示します。性能要求は年率1000%(1年で10倍)で向上していて,汎用CPUはまったく追いついていません。

Figure 2 AI深層学習が必要とする計算能力一例 [5] に加筆

AIの他にも、大規模シミュレーション(感染シミュレーション、気候変動予測など)や創薬(分子構造計算)など、膨大な計算を必要とする問題は多数あります。そこで、各問題に固有な計算を高速化するハードウェアとソフトウェアの仕組み(アクセラレータと呼ぶ)を汎用CPUに組合せ、膨大な計算をアクセラレータに行わせる(オフロードする)構成が考えられました。

汎用CPUコア+アクセラレータの構成は古くからありますが、コンピュータアーキテクチャ業界では、近年 “ドメイン固有アーキテクチャ(Domain Specific Architecture: DSA)” と呼ばれています[4][8]。筆者のイメージをFigure 3 に示します。横軸はシステムの柔軟性を表し、右ほど応用範囲が広い、つまりシステムの柔軟性が高いことを示します。逆に左ほど柔軟性が低くなります。

縦軸は特定応用での処理性能を表します。この図上に、「汎用CPU」、「GPU+汎用CPU」、「アクセラレータASIC+汎用CPU」、「アクセラレータFPGA+汎用CPU」をプロットします。「GPU+汎用CPU」は、三次元グラフィクスのドメイン固有アーキテクチャ、「アクセラレータASIC+汎用CPU」は、後述する深層学習のドメイン固有アーキテクチャとなります。

それぞれの特長を見てみましょう。汎用CPUは、表計算、Webブラウザやデータベース処理はもちろん、例えば三次元グラフィクスや深層学習も性能は低いものの処理できます。これを柔軟性が高いと考えます。ところでGPU (Graphics Processing Unit) とは、三次元グラフィクス処理を高速化するためのアクセラレータの一種です。1990年頃からPCやゲーム機に用いられ、商業的にも成功したアクセラレータと言えます。

Figure 3 システムの柔軟性と特定応用での処理性能の関係

GPU+汎用CPUの構成では、グラフィクス性能は汎用CPUのそれに比べて当然高くなります。その一方で、GPUはグラフィクス以外の処理(例えば表計算)では使われないため、汎用CPUよりシステムの柔軟性が低いと言えるでしょう。なお右上「理想のシステム!」は、システムの柔軟性が高く、かつ特定応用での処理性能が高いシステムです。実際に存在はしませんが、現実のシステムはここを目標に進化し続けていると筆者は考えます。

 

ドメイン固有アーキテクチャの例 Google社の TPU

Google社の TPU (Tensor Processing Unit)は、深層学習高速化に特化したGoogleが自社開発したアクセラレータで、Google自身が「Google Search」「Google Translate」「Google Photos」といったサービスで活用しているそうです。

Figure 4 右図にTPUのチップフロアプランを示します[6]。“Unified Buffer”、 “Matrix Multiply Unit”、”Accmulators”など計算実行部がチップ面積の約半分、DRAM インターフェース、PCI express インターフェースなどが残りを占め、制御部(赤色 Control)はわずか2%を占めるのみです。汎用CPUやGPUでは制御部はずっと大きい領域を占めており、TPUはとても効率良い設計と言えます。 深層学習高速化に特化したことが効率が良い設計を可能にしたと推測します。

Figure 4 左側:TPUブロック図,右側:TPUのチップフロアプラン

TPUの性能/WはGPUの約30倍となり、非常に高いと報告されています[7][5][6]]。

Figure 5 TPUの性能/W をGPUのそれとの比較 [7]

TPUはTensorFlow で書かれた深層学習の計算では非常に高性能な半面、他の応用で性能を引出すのは難しいと思われます。即ちシステムの柔軟性は低いと言えます。TPUは、Figure 3 の「アクセラレータASIC+汎用CPU」に位置付けられます。

 

アクセラレータASICアプローチの問題点

二つの問題点があると考えます。第一は、特定応用ではとても高性能であるが応用が変わると性能を出せない、即ちシステムの柔軟性が低い点。第二に、専用アクセラレータ半導体(ASIC)を設計する時間とコストがかかる点。

Figure 6 に、FPGAとASICの開発期間と開発期間の例を示します。これは筆者の私見による大ざっぱなイメージ図です。アクセラレータASIC設計には、赤色楕円の時間とコストがかかると見積りました。Google社TPUの場合は、(1)高速化したい処理が大量にあり、(2)加速対象アルゴリズムは定型的で並列性が高く、(3)データセンターで沢山(数千~数万個?)アクセラレータASICを使う見込みがあるのでASIC開発ができたと推測します。それらの条件が満たされない場合はASIC開発はペイしないので、GPUをアクセラレータとして使い続けるしか方法がなかったのではないでしょうか。

Figure 6 FPGAとASICの開発期間と開発コスト(大ざっぱな値)

 

アクセラレータFPGA + 汎用CPUアプローチ

前述したアクセラレータASIC開発にかかる時間とコストを克服する方法として、アクセラレータASICの代わりにFPGA (Field Programmable Gate Array) を使ってアクセラレータを作る方法があります。FPGA のフレキシビリティを生かしてドメイン毎に最適化されたアクセラレータを実現できる可能性があります.この特性を Figure 3 上に表すと,「アクセラレータFPGA + 汎用CPU」(薄緑色の楕円)の位置に来ると考えます.

設計次第ですが,特定応用での性能は汎用CPUより高く,GPU程ソフトウェア上の制約を受けないようにできるのではないか,と考えます.つまりシステムの柔軟性は汎用CPUには劣るがそこそこ高いポジションに来る.更に,FPGA設計期間はASIC開発に比べればはるかに短く,開発コストも低く抑えられます(Figure 6),開発途中の修正が追加コストかからず可能なメリットも期待できます.

アクセラレータFPGA + 汎用CPU の例としてテキスト検索用FPGAアクセラレータ [11] の例をみてみましょう。IBM POWER7 サーバーに Altera(現Intel)Stratix IV FPGA (250 MHz動作)を接続したシステムで,Big data に対する SQL Query のスループットが 最大16.2倍高速化できた(Figure 7),と報告されました[11].

Fig. 7. Throughput using 64 software threads and estimated throughput when executing the extraction operators, a single subgraph or multiple subgraphs on the accelerator for 256 and 2048 byte documents.

 

FPGAから深層学習へのアプローチ(Xilinx 社Vtis)

Xilinx社の最新FPGAデバイスと設計環境は,深層学習をサポートしています[14][15][16].

Vitis™ AI 開発環境は、エッジ デバイスと Alveo™ アクセラレータ カードの両方を含む、ザイリンクス ハードウェアプラットフォーム上での AI 推論開発向け Vitis AI 開発キットで、最適化された IP コア、ツール、ライブラリ、モデル、サンプル デザインが含まれます。

Vitis AI は、高い効率性と使いやすさを考えて設計されており、ザイリンクスFPGA および ACAP (Adaptive Compute Acceleration Platform) での AI 推論の高速化を最大限に引き出すことができます。ベースとなる複雑な FPGA や ACAP を抽象化することにより、FPGA の設計経験がないユーザーでも容易に深層学習推論アプリケーションを開発できるようサポートします。

Figure 8  Vitis AI スタック

クラウド環境においてもFPGAの利用は始まっています。Amazon クラウド環境(Amazon EC2 F1 インスタンス)で、汎用CPUにFPGAが接続された仮想環境が提供されています[12]。手元にFPGAを準備する必要がありません。それを使ったRISC-Vシミュレーションも行われています[13]。

AMD は次の土俵に?

NVIDIA社GPUには、C++言語やPython言語から使える 同社のCUDA (Compute Unified Device Architecture) [9] があります。これはGPU向けの汎用並列コンピューティングプラットフォーム(並列コンピューティングアーキテクチャ)およびプログラミングモデルで、機械学習,深層学習で盛んに使われています。データセンター向けGPUでも大きなシェアを持っていると推定されます。

一方、AMD社GPU向けに tensorflow-rocm [10]がありますが、広く浸透しているとは言えません。データセンター向けGPU市場の急拡大が予想されている中でAMD社GPUを浸透させるには、まだ相当な努力が必要かもしれません。Xilin社のAI向けFPGAデバイスと設計ツールチェーン整備などの AI への積極的取組みは、AMDのXilinx買収の背中を押したのかもしれません。AMD社はXilinx社買収により、「GPU+汎用CPU」という土俵でNVIDIA社と競う状況に加えて、次世代プラットフォーム「アクセラレータFPGA+汎用CPU」のお客様へのオファーも可能にできた意味があると考えます。

参考文献

    1. AMDが Xilinx を買収
      https://www.amd.com/en/press-releases/2020-10-27-amd-to-acquire-xilinx-creating-the-industry-s-high-performance-computing
    2. AMD、ザイリンクス買収で合意-成長分野強化でインテルに対抗
      https://www.bloomberg.co.jp/news/articles/2020-10-27/QIUWZ3T0AFBH01
    3. CPUのライバルが続々、GPUに次ぐ新たな刺客
      https://xtech.nikkei.com/atcl/nxt/column/18/00517/112600004/
    4. A New Golden Age for Computer Architecture, Com. ACM, 2019
      https://cacm.acm.org/magazines/2019/2/234352-a-new-golden-age-for-computer-architecture/fulltext
    5. J. Dean, “1.1 The Deep Learning Revolution and Its Implications for Computer Architecture and Chip Design,” 2020 IEEE International Solid- State Circuits Conference – (ISSCC), San Francisco, CA, USA, 2020, pp. 8-14, doi: 10.1109/ISSCC19947.2020.9063049.
      https://arxiv.org/ftp/arxiv/papers/1911/1911.05289.pdf
    6. N.P. Jouppi, et.al.,m “In-Datacenter Performance Analysis of a Tensor Processing Unit”, 44th International Symposium on Computer Architecture (ISCA), Tronto, Canada, 2017
      https://arxiv.org/ftp/arxiv/papers/1704/1704.04760.pdf
    7. Google、AIチップ「TPU」はGPUより30倍速い
      https://www.itmedia.co.jp/news/articles/170ws056.html
    8. Computer Architecture 6th Editionの7章”Domain-Specific Architecture” を読む (7.1, 7.2章)
      https://msyksphinz.hatenablog.com/entry/2017/12/18/020000
    9. CUDA
      https://ja.wikipedia.org/wiki/CUDA
    10. tensorflow-rocm
      https://pypi.org/project/tensorflow-rocm/?fbclid=IwAR3koJPtDh0fIEqonmPu3nW6MoGwwztw_LMlFRfmc-glh3sMh5iWOTMimi4
    11. R, Polig, et.al., “Giving Text Analytics a Boost”, IEEE Micro, Vol.34,Issue:4, 2014, https://arxiv.org/pdf/1806.01103.pdf
    12. Amazon EC2 F1 インスタンス
      クラウドでの FPGA アクセラレータの開発とデプロイを迅速化
      https://aws.amazon.com/jp/ec2/instance-types/f1/
    13. Amazon EC2 F1インスタンスで動作するRISC-Vシミュレーション環境FireSimの論文を読む
      https://msyksphinz.hatenablog.com/entry/2018/05/29/040000