(1/5)
アブストラクト リコンフィギャラブルシステムは、FPGAなどプログラマブルな素子を用いてアプリケーションをハードウェアとして実装することで、高速かつ柔軟性に優れたシステムを実現する。従来、FPGA内部の演算素子は PCなどに用いられる CPUの浮動小数点演算装置に比べ性能が 2桁低く、高性能計算への応用は困難であった。しかし最近の高性能 FPGAの登場により、浮動小数点演算を用いた本格的な科学技術計算の高速化の可能性が現実味を帯びている。最近の実装例について報告し、その将来性と問題点を議論する。 キーワード FPGA、リコンフィギャラブルシステム、高性能演算
リコンフィギャラブルシステムは、FPGAを代表とする書き換え可能なデバイス上に対象とするアルゴリズムを直接ハードウェア化して実行することにより、ハードウェアの高性能とソフトウェアの柔軟性を共に実現することを狙ったシステムで、近年の FPGAの急速な発展と共にその応用分野を広げている[1]。従来、FPGAは、CPU内で利用されている専用演算器や ASICに対して性能面で 2桁劣り、量産時のコストも、ASICや組み込みCPU に比べて高価であった。このため、リコンフィギャラブルシステムは、画像処理、音声処理、パターンマッチング、暗号解読等通常の PCや組み込み用CPU では性能が不足し、ASICで専用ハードウェアを作成するには製作チップ数が少なく開発コストを回収できない分野に限定的に用いられてきた。 しかし、最近、以下の変化によりその応用分野が急速に広がっている。 Xilinx社 Virtexシリーズ、Altera社 Stratixシリーズに代表されるハイエンドの FPGAは、その構成要素である LUT(Look Up Table)数の増大により、100万ゲートを越えるランダムロジックの実装が可能になった。一方、大規模なメモリ、DLL、乗算器、DSP、CPU、ハイスピードリンクなどハードコアマクロをチップ内に組み込むようになった。この乗算器、DSPは整数演算のみが可能であるが、周辺論理回路と組み合わせれば、浮動小数点演算回路を多数搭載することが可能である。また、内部メモリも、大規模演算を行うために必要なデータを格納するのに十分な程大きくなった。このため、ハイエンドの FPGAを多数用いて汎用のスーパコンピューティングを行うことが性能面で可能となった。 Xilinx社 SPARTANシリーズ、ALtera社 Cycloneシリーズに代表されるローエンドの FPGAは、コストダウンの徹底と最新プロセスの利用により数万ゲート搭載可能なチップが数百円のオーダで利用可能となっている。これらにより、処理の中心に FPGAを用いた組み込みシステムが、家電、車載、携帯機器などでコスト面で可能となった。 有名な Hennessyと Pattersonのテキスト[2] には以下の指摘がある。「テクノロジの改善が一定の率であっても、新しい能力を可能にすることができる一定のしきい値に達すると、その影響が飛躍的に大きくなることがある。」FPGA はここ数年でこのしきい値を越えつつあり、その応用分野は今後、急速に広がり、マイクロプロセッサや ASICに並んで、IT機器の主役の一つとなることが予想されている。 本稿では、このうち、ハイエンドFPGA を用いたリコンフィギャラブルシステムのハイパフォーマンスコンピューティングの応用に関して最近の動きを紹介し、その問題点を延べ、一つの解決法として我々の ReCSiPプロジェクトについて紹介する。