29において、FPGAベースのアクセラレータ「XPU」の発表を行った。Accelerator(SDA)の発表を行っており、継続的な研究開発を行ってきている。CatapultでFPGAを使ったアクセラレータを開発し、データセンターへ展開して、Bingのサーチや翻訳の加速にすでに実用化している。AmazonはF1インスタンスというクラウド上でFPGAが使えるサービスを開始している。いうことで、すでに、FPGAベースのアクセラレータは、大量のデータを処理するケースでは一定の地位を築いていると言える。FPGAはAIのConvolutionや行列積の計算など、データ解析の分野では圧縮、伸長、フィルタなどの処理に向いている。MAC演算器を多数搭載しており、各種の計算に使用できる。高速のメモリアクセスインタフェースを持ちバンド幅も大きい。いうことで、FPGAはAIやビッグデータ処理にポテンシャルがあるという。29でのBaiduの発表資料のコピーである)これまでのFPGAアクセラレータは、特定のワークロード向けに作られており、効率は高いもののプログラムして広範な用途に使うことはできない。CPUは柔軟性は高いがAIやビッグデータの処理性能はあまり高くない。GPUは並列性の高い処理では高性能を発揮するが、処理によっては性能が出ない。このため、大量の計算を行うワークロードとルールベースの処理の両方にまたがる広範なワークロードで、柔軟性があり、高い効率を発揮できるアクセラレータが欲しいということからXPUを考えたという。XPUは計算とルールベース処理の両方に高い性能を発揮するアクセラレータの実現を目指すXPUは多数の小さなコアとカスタムロジックのブロックに、DDR4メモリをマルチポートのメモリコントローラで接続した構造になっている。データの転送をおこなうためのDMAを持っている。多数の小規模コアは、命令セットを持つプロセサで、プログラム可能で、広範なワークロードを処理する柔軟性を持っている。カスタムロジックはハードウェア再構成で作る専用ロジックで高い性能と効率を実現する。XPAのアーキテクチャ。多数の小規模コアとカスタムロジックがあり、小規模コアはプログラム可能で広範な処理に使える。カスタムロジックの部分は、特定の処理に高い性能と効率を発揮する多数の小規模コアの部分は、次の図のようになっている。Accelerator)と32KBのシェアードメモリを持っている。左側の図のように、FPGAの集積度に応じて、多数のコアクラスタが作られ、マルチポートのメモリコントローラに繋がれている。XPUの多数の小規模コア部の構造。コアクラスタは、32個の小規模コアと関数アクセラレータSFAと32KBのシェアードメモリを持つ。集積度に応じて多数のコアクラスタが作られる小規模コアはMIPSに似た命令セットを持ち、4段のパイプラインで命令を実行する。Table)を使って分岐予測を行っている。小規模コアは、MIPS風の命令を持つ、4段パイプラインのプロセサである。BHTを使った分岐予測を行っているXPUをプログラムするには、まず、Step1でどの仕事をどこでやるのかというワークロードの分割を行う。Step2では、小規模コアのクラスタで処理を行う部分のアセンブラプログラムを書き、専用のカスタムロジックで処理する部分の呼び出しを行う。最後のStep3では、コンパイルを行い実行する。この図には書かれていないが、Step2ではカスタムロジック部をFPGAで設計する必要があると考えられる。XPUのプログラミング。FPGAを使用している。FPGAのLUTの25%、DSPの15%を必要としている。DSPを使い、600MHzクロックで16ビットの整数で計算を行っている。この部分は6.144Topsの性能を持っている。※本記事は掲載時点の情報であり、最新のものとは異なる場合があります。Corporation。