「DAシンポジウム」は、主に半導体チップ開発の設計自動化(DA)に関するテーマを扱う、日本のEDA(Electronic Design Automation)業界で歴史の長い会議である。近年はチップにとどまらず、システムレベルにまで領域を広げてきている。

 2016年のDAシンポジウムは9月14日~16日に石川県加賀市で行われた。複数の招待講演があり、その1つに日本アルテラの竹村幸尚氏が登壇した。同氏は「Altera SDK for OpenCLを用いたシステム設計手法及び応用事例」というタイトルで講演した。

登壇した竹村幸尚氏。筆者が撮影。
登壇した竹村幸尚氏。筆者が撮影。
[画像のクリックで拡大表示]

 米Altera社は、大手FPGA(Field Programmable Gate Array)ベンダーの1社だったが、2015年に米Intel社に買収されて、現在はIntelのProgrammable Solutions Groupである。講演タイトルにあるツール名の「Altera SDK for OpenCL」は、「Intel FPGA SDK for OpenCL」に変わっており、FPGAでもIntelブランドが使われるようになった。

 この講演は、OpenCLを用いてFPGAの回路設計を行う方法をEDA分野の専門家に向けて紹介するものだったが、その話題に入る前に、背景を少し説明する。FPGAは半導体チップの一種で、設計された論理設計データをFPGAに電気的に書き込むことで、チップ製造後でも論理機能を変更できる便利な電子部品だ。DAシンポジウム参加者ならば、以前からよく使っていた馴染みのチップかもしれない。そのFPGAが、数年前から新たな用途で使われることが増え、注目度が上昇中である。

 その用途とは、CPU (マイクロプロセッサー)の「アクセラレーター」としてFPGAを利用することである。すなわち、これまでCPUでソフトウエアとして実行していた処理を、ハードウエア化して処理を高速化・効率化する。CPUはさまざまな処理をソフトウエアとして実行できる柔軟性・汎用性をもっているが、非効率的な面もある。例えば大量の計算処理をCPUで実行すると、処理速度が低かったり、消費電力が大きくなったりする。CPUとFPGAとを組み合わせて使うことで、高速にかつ効率的に処理ができるようになる。

 ただし、CPUでソフトウエアとして実行していた処理の一部をFPGAで実行する場合には、CPU上のソフトウエア処理とFPGA上のハードウエア処理とがうまく連携動作させる仕組みを用意しなければならい。この仕組みの用意に「OpenCL」を使うことで、設計を効率化できると期待されている。