研究課題/領域番号 |
16K00084
|
研究機関 | 東京都市大学 |
研究代表者 |
瀬戸 謙修 東京都市大学, 工学部, 講師 (10420241)
|
研究期間 (年度) |
2016-04-01 – 2020-03-31
|
キーワード | 高位合成 / メモリアクセス最適化 / スカラリプレイス / メモリ分割 |
研究実績の概要 |
高位合成技術は、ソフトウェア向けCプログラムからのハードウェアアクセラレータ自動生成のコア技術のため、関心が高まっている。高位合成では、Cプログラム中の配列アクセスはメモリアクセスに対応するため、配列アクセスが多いCプログラムは、メモリアクセスがボトルネックとなり、そのままでは高性能なアクセラレータが合成できない。この問題を解消するため、高位合成対象のCプログラム、特にループ処理、において、配列アクセスを削減するスカラリプレイス技術が重要な技術の一つである。多数の配列アクセスを含んだループにスカラリプレイスを適用することで、配列アクセスを削減でき、その結果、ループパイプライン化時の開始間隔を削減でき、性能向上につなげることができる。平成29年度は、配列の添え字に定数が含まれる場合のスカラリプレイスツールを実装した。この研究成果に基づいて、スカラリプレイス技術の改良方法を提案した。具体的には、スカラリプレイスの結果、回路中にシフトレジスタが追加されるが、シフトレジスタの長さが長い場合、回路面積の大幅な増大を招く。この問題に対処するため、シフトレジスタをRAMベースの循環バッファを使用して生成するスカラリプレイス技術を提案した。また、従来のシフトレジスタを使用したスカラリプレイスでは、ループ回数がコンパイル時に定数でない場合、言い換えると、ループ回数がパラメータの場合に、多入力のマルチプレクサが生成され、回路面積が増大する課題があった。提案する循環バッファを使用したスカラリプレイス技術では、他入力のマルチプレクサを除去できるため、コンパクトな回路を生成できる。提案する技術を、平成29年度に実装したツールをベースに実装した。評価実験を行った結果、提案する循環バッファベースのスカラリプレイスは、性能を悪化させずに、回路面積を削減できることが明らかになった。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
スカラリプレイスについては、静的制御コード(Static Control Part, SCoP)を対象としたツールを実装完了した。このツールで扱うCコードは、現状、ステンシル計算を表現した完全入れ子ループとなっており、さらに、各配列についてジェネレータが一つのみであることを想定している。この前提のもとで、書き込みアクセス、および、読み出しアクセスを持つローカル配列を完全に削除し、面積削減およびサイクル数削減を実現できた。画像フィルタにおける画像端の処理時に、配列アクセスの添え字が定数になる場合があり、そのような場合も扱えるスカラリプレイス技術となっており、本成果は論文誌論文に採録された。加えて、シフトレジスタが長い場合に循環バッファ化する技術や、ループ回数がパラメータの場合を扱う技術もツール実装し、省面積化に効果があることを確認した成果が、論文誌論文に採録された。さらに、ループの次元数が配列の次元数より大きい場合のスカラリプレイス技術についても、検討を行った。メモリ分割については、当初検討予定だった、グラフ彩色を用いてメモリ分割を行った結果のバンク割り当てとオフセット決定をLUTで計算する方法が、2017年にコーネル大学の研究グループから提案されていたため、そのアルゴリズムをツール実装し、複雑な添え字を持つ配列アクセスに対しても、メモリ分割を行えることを確認した。また、LUTではなく、算術式によるバンク割り当てとオフセット決定手法についても検討を進めた。以上の理由により、研究はおおむね順調に進展している。
|
今後の研究の推進方策 |
ループの次元数が配列の次元数より大きい場合など、スカラリプレイスの適用範囲を拡張する手法の研究をさらに進め、開発済みのツールをベースに、実装する。提案手法を実装したツールによってベンチマークプログラムを最適化し、高位合成や論理合成を使用して、提案手法が回路性能や面積に与える効果を評価する。研究成果を、国際会議発表や、論文誌発表としてまとめる。メモリ分割についても従来手法をベースに拡張する手法を検討し、すでに開発済みのツールをベースとして実装し、評価を行う。メモリ分割の拡張についても、国際会議や、論文誌に投稿して発表を進める。
|
次年度使用額が生じた理由 |
予定していた国際会議発表や論文誌出版が次年度になったためです。 国際会議発表の出張旅費、参加費や論文誌出版費に使用予定です。
|