米Microsoft社や中国Baidu(百度)社がビッグデータ処理にFPGAを利用しているという話を聞かれたことがあるだろう。例えば、日経エレクトロニクス誌の2014年11月10日号(日経テクノロジーオンライン関連ページ1)や2016年1月号(同関連ページ2)には、そのような話が特集記事として紹介されている。

 ただし、FPGAをデータ処理に使う際には、大きな問題点がある。データ処理の鍵は、そのデータ処理のドメインに特化したドメインエキスパートが握っているが、ドメインエキスパートはFPGA設計にはそれほど明るくないことだ。そのため、FPGA設計に不案内なドメインエキスパートとデータ解析処理が得意でないFPGA設計者がコミュニケーションをとりながら、FPGAの設計を進めるという非効率な方法を取らざる得ない。

 ドイツ・ドレスデンで行われている国際学会「DATE 2016(2016 Design, Automation and Test in Europa)」(3月18日まで)では、米University of California San Diego校(UCSA)が、ドメインエキスパート自身がデータ処理用FPGAを容易に設計するための手法について発表した。講演番号7.4.2の「Composable, Parameterizable Templates for High-Level Synthesis」がその発表である。手法の考え方はとてもシンプルだ。

 FPGAの設計には高位合成(HLS:High Level Synthesis)を使うことにし、データ処理で使われる処理群をあらかじめHLSで合成可能なテンプレートとして登録しておく(下のスライド)。ドメインエキスパートはそれらのテンプレートを使ってプログラミングすることで、最適なシステム設計、FPGA設計が行えるという仕組みである。

UCSAのスライド
UCSAのスライド