FPGAコンピューティングが身近に
フレキシビリティは多少犠牲にしても、ひたすら高速な計算機が欲しい。このような要求には、スーパーコンピュータのようなHPC(高性能コンピューティング)や、AmazonやMicrosoftのような巨大なデータセンターではFPGAが使われてきた。FPGA利用のコンピュータがもっと手軽に入手できるようになる。PALTEKのボードコンピュータ(図1)がそれだ。

図1 PALTEKが発売したFPGAコンピュータボード
CPUやGPUはソフトウエアを入れ替えてさまざまな機能を実現するハードウエアだが、FPGAは配線の組み換えで独自の回路を実現しようというデバイスである。CPUやGPUのようにソフトウエアで処理するデバイスは、独自機能をソフトウエアで実現するフレキシビリティはあるが、高速化には限界がある。一方FPGAは、ハードワイヤードロジックで電子回路を形成するため高速だが、フレキシビリティは劣る。これらをうまく使い分けることで高速でフレキシブルなコンピュータができる。これがFPGA利用のHPCやデータセンターコンピュータだ。
Microsoftは、検索エンジン「Bing」を高速化するため、データセンター内のコンピュータにFPGAを用い、処理を高速化する「Catapult」技術を開発した。AmazonもクラウドサービスであるAMS内のコンピュータにFPGAを用いている。これまでのコンピュータは、CPUだけでは高速化に限界があるため、GPU(グラフィックスプロセッサ)やFPGAをコプロセッサとして2010年ごろから使われてきた。
GPUには図を描くためのデッサン(基本トライアングルでアウトラインを書く作業)とレンダリング(色塗り作業)の機能がある。特にレンダリング作業に相当するような並列処理計算にはGPUがよく使われるようになってきた。ただし、GPUは制御用のCPUと通信しながら処理を行うため、CPUとのバスが必要になる。高速動作ではバスネックになる恐れがある。さらに並列作業を拡張する場合でもGPUだけを拡張するのではなくCPUも拡張しなければならない(図2)。GPU同士では互いに通信できないためだ。
図2 FPGAは互いに通信できる 出典:PALTEK
しかし、FPGAは、FPGA同士で通信できるため、CPU1個でたくさんのFPGAを多数拡張できる。演算ごとにCPUと通信する必要がないため、バスネックの心配がない。もちろん、専用のICであるASICを使えば、性能も消費電力も有利であるがコストが最も高くつく(図3)。並列性・拡張性に優れたチップとしてはやはりFPGAということになる。
図3 FPGAコンピューティングのメリット 出典:PALTEK
今回、PALTEKが発売したFPGA搭載のボードコンピュータ「DATA BRICK」は、Xilinx社のVirtex Ultrascale+シリーズのFPGAのうち、VU3Pシリーズ(最大86万2050システムロジック数)を採用した。各FPGA間は最大448Gbps(28Gbps×16レーン)で接続可能で、ボード上には16GBのDDR4-2400 DRAMを搭載している。ホストのCPUとは、PCIe (Gen3)8.0GT×16で接続できる。
このコンピュータボードの開発では、FPGAに特化したデザインスキルを持つベクトロジー社と共同で開発した。ベクトロジー社はFPGAを使いこなしてきたベンチャーであり、基板設計や基本仕様をまとめFPGAに落とすことが得意である。「(FPGAによる)行列演算はどこよりも速く実行できる」とベクトロジー社の篠田義一代表取締役社長は自信を示す。
このFPGAコンピューティングボードを発売するPALTEKは半導体商社であると同時に半導体のデザインセンターの役割も持っている。このDATA BRICKを使うことにより、国内でもフルHDや4Kのビデオ処理や、AI(人工知能)のマシンラーニングやビッグデータ分析、金融分析、HPCなどのワークロードを高速化できるようになる。