2016 Fiscal Year Research-status Report
高位合成による集積回路設計におけるメモリアクセス自動最適化に関する研究
Project/Area Number |
16K00084
|
Research Institution | Tokyo City University |
Principal Investigator |
瀬戸 謙修 東京都市大学, 工学部, 講師 (10420241)
|
Project Period (FY) |
2016-04-01 – 2019-03-31
|
Keywords | 高位合成 / メモリアクセス最適化 / スカラリプレイス / メモリ分割 |
Outline of Annual Research Achievements |
高位合成を用いたループアクセラレータ設計におけるメモリアクセス最適化技術、特にスカラリプレイス技術について研究を行った。スカラリプレイスは、ローカルメモリからアクセスしたデータをシフトレジスタに保存しておき、シフトレジスタ内のデータを再利用するようにプログラムを書き換えることで、ローカルメモリへのアクセスを削減し、回路性能を向上するメモリアクセス最適化技術であり、ローカルメモリのサイズが比較的大きく、ポート数が限られている場合に効果がある。従来技術では、外部メモリからローカルメモリにループの計算で必要となるデータをすべてコピーした後に、スカラリプレイスを適用する方式となっていたが、ローカルメモリサイズが増大するだけでなく、コピー時間のオーバーヘッドによりサイクル数が増大することが問題となっていた。このようなスカラリプレイスの問題に対し、外部メモリからローカルメモリへのデータコピーがすべて完了することを待つことなく、最低限そろった時点で計算を進めるSystemCソースコード最適化方式を提案した。動作クロック制約は500MHzとし、プロセスルール45nmのライブラリを使い、高位合成および論理合成を実行して評価を行った結果、提案手法は、従来手法と比べ、動作周波数を向上させ、ハードウェア面積を削減できた。さらに、ループの次元数が配列の次元数よりも大きい場合、具体的には例えば行列積計算に出現するような3次元ループ中の2次元配列に対するスカラリプレイスにおいて、複数の入力配列が存在する場合に、どの順番で入力配列をコピーすると性能的および面積的に効率が良いかを、自己再利用距離に基づいて決定する方法を提案した。提案手法を適用することで、ハードウェア実行に必要なサイクル数、および、回路面積について、従来のスカラリプレイス技術と比較して、それぞれ最大39.0%、12.5%削減できた。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
多面体モデルベースの最適化向け開発されたベンチマークPolyBenchに対して、複数ループを一つのループにマージするループ融合を適用してベンチマークプログラムを用意し、これらのベンチマークプログラムに対してメモリアクセス最適化技術の研究開発を進めた。まず、メモリ分割技術については、分割時に必要となるツールの開発を行った。具体的には、配列の添え字の値に対し、対応するバンクを計算するマッピング関数や、各バンク中のアドレスを計算するオフセット関数を算出するツールを開発した。また、メモリ分割後の出力Cプログラム構成の検討を進めた。スカラリプレイス技術では、再利用ベクトル、再利用距離、再利用発生条件等のデータフロー解析を行うツールを、Barvinokライブラリを活用して作成し、従来手法で扱えないアクセスパターンを持つ配列を扱える方法を検討した。スカラリプレイスでは、研究実績の概要で述べた通り、計算と通信を同時に行う手法と、ループの次元数が配列の次元数よりも大きい場合にも拡張する方法を提案し、2件の国内会議で発表した。以上の理由により、研究はおおむね順調に進展している。
|
Strategy for Future Research Activity |
平成28年度にBarvinokライブラリを使用して算出したデータフロー解析結果、および、コード生成手法に基づき、スカラリプレイス技術のツール実装および機能拡張を進める。その際、シフトレジスタ初期化用のコード変換も併せて実装する。スカラリプレイスについて、国際会議での発表や、論文誌としての発表も進める。メモリ分割技術については、開発したマッピング関数やオフセット関数の計算プログラムをベースに、最適化済みプログラムの自動出力ツールの開発を進める。その際、マッピング関数やオフセット関数の実現方法として、算術式を使った方法と、それ以外の方法も検討、評価する。ツール実装では、コンパイラインフラストラクチャを使用して進め、ツールの性能評価では、高位合成や論理合成を使用して、出力された最適化済みソースコードから合成した回路の性能や面積を評価する。
|
Causes of Carryover |
予定していた国際会議発表や論文誌出版が次年度になったため。
|
Expenditure Plan for Carryover Budget |
国際会議発表の出張旅費、参加費や論文誌出版費に使用予定です。
|
Research Products
(2 results)