大規模アクセラレータ構築のためのFPGA接続手法と最適なキャッシュ構成の探索

森高 晃大 (1151108)


我々は,一般的な機械語命令を演算器アレイに写像して高い効率で実行する線型アレイ型アクセラレータLAPPを提案している.LAPPは多数の演算器をアレイ状に配置しているが,LAPPをFPGAに実装する場合,その面積の制約によって実装可能な演算器数に制限がある.それにより,長い命令列のアクセラレータによる高速実行が困難になり,従来プロセッサのように実行しなければならない.そこで,単一のFPGAに上に実装するのではなく,複数のFPGAを互いにシリアル通信でつなぎ,1つの大きなFPGAを仮想的に構築する手法を提案する.これにより,面積の制約から解放され,より大きなアクセラレータを構築可能になる.また,FPGA間の通信がボトルネックになるため,FPGA間でやり取りされるデータ量の削減が求められる.従来の演算器アレイの切り分け方を変更することで,前前段以前からのバイパスを削減でき,またFPGA間での通信にかかるサイクル数も19%削減した. また,複数FPGAを用いたマルチコアLAPPにおいて,最適なキャッシュの構成について調査した.その結果,画像処理プログラムを用いた測定により,キャッシュ容量16KBにおいて,ラインサイズ128バイトの時に最も実行サイクル数が短くなった.さらに,アクセラレータは,実行サイクル数の点でキャッシュ構成により影響を受けやすく,コア数が4以上の時かつ命令列の長さが短く,キャッシュラインサイズが256バイト以上の時,同容量のキャッシュを持つ従来プロセッサに実行サイクル数の点で劣ることがわかった.