研究課題/領域番号 |
16K00084
|
研究機関 | 東京都市大学 |
研究代表者 |
瀬戸 謙修 東京都市大学, 工学部, 講師 (10420241)
|
研究期間 (年度) |
2016-04-01 – 2019-03-31
|
キーワード | 高位合成 / メモリアクセス最適化 / スカラリプレイス / メモリ分割 |
研究実績の概要 |
前年度の研究を踏まえ、スカラリプレイス技術の研究をさらに進めた。スカラリプレイスにより、Cプログラム中のローカル配列をすべて削除することで、ローカル配列に対応するローカルメモリを削除できるため、回路面積を削減でき、さらにローカルメモリへのアクセス集中を解消することで実行サイクル数も削減できる。しかしながら従来技術では、ローカル配列の添え字に定数が含まれている場合(画像のフィルタ処理において、画像の端を処理する場合に出現する)にスカラリプレイスを適用できず、スカラリプレイスの利点が損なわれていた。本年度は、スカラリプレイスのそのような問題点を解消する方法を詳細に解析するとともに、ツール実装を完成させた。具体的には、Cプログラムとして、静的制御コード(Static Control Part, SCoP)を想定し、SCoPから多面体モデルを構築し、if文の条件を考慮したデータ再利用の解析を行うことで、配列の添え字に定数を含む場合にも対応可能なアルゴリズムを考案し、実装した。ツール実装では、ライブラリとして、多面体モデルの読み込みにClan, SCoPの処理にはOpenSCoP, 多面体モデルからCプログラムへの出力にはCLooGを使用し、データ再利用の解析にISL(Integer Set Library)を使用した。Cプログラムのベンチマークを使用して、実装したツールの評価を行った。評価では、45nmのセルライブラリを使用し、動作周波数制約は500MHzとした。実用的な画像フィルタプログラム(4つのループを融合して1つのループにしたもの)に対して、ツールを適用したところ、性能3倍、回路面積35.4%減となり、性能向上を達成しただけでなく、回路面積が削減でき、提案手法の有効性を示すことができた。このツールをベースとして、メモリアクセス自動最適化を推進することが可能となる。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
スカラリプレイス技術について、前年度は、スカラリプレイス技術の実用化で重要となる、データ転送と計算の同時実行手法を提案した。さらに、ループの次元数が配列の次元数より大きい場合、例えば3次元ループ中の2次元配列に対するスカラリプレイスにおいて、複数の入力配列が存在する場合に、どの順番で入力配列を転送すると性能が良いかを決定する方法も提案し、国内会議で2件の発表を行った。また、スカラリプレイスで必要となるデータフロー解析をBarvinokライブラリにて行う手法を開発した。この解析手法に基づき、平成29年度ではISLライブラリのC-APIを使用して、スカラリプレイス自動化のツール実装を完成させた。この実装は、以降の研究基盤として用いることができる。このツールでは、配列の添え字が定数の場合に対応する機能拡張を含んでおり、この成果を国際会議1件、論文誌1件(掲載予定)で発表した。また、ループの次元数がローカル配列の次元数より大きい場合の検討を進めた。メモリ分割技術について、平成28年度に、配列のアドレス空間を異なるバンクに割り当てるマッピング関数およびバンク内のアドレスを決定するオフセット関数を算出するツールを開発し、平成29年度は、それらの開発に基づき、メモリ分割最適化後のコードを出力するツールを開発できたため、メモリ分割技術の開発に活用できる。以上の理由により、研究はおおむね順調に進展している。
|
今後の研究の推進方策 |
前年度に完成させたスカラリプレイスツールをベースに拡張機能を追加し、平成30年度では適用範囲の拡大をさらに進める。さらに、ループの次元数がローカル配列の次元数より大きい場合のスカラリプレイス技術の検討結果に基づいて、例題を使用して実証を行った後、ツール実装を進めたい。また、平成30年度は、実装したメモリ分割ツールを拡張し、従来技術で扱えるか不明な配列アクセスへの適用および性能評価を行う。実装したツールの性能評価では、平成29年度に引き続き、高位合成や論理合成を使用して、出力された最適化済みソースコードから合成した回路の性能や面積を評価する予定である。
|
次年度使用額が生じた理由 |
(理由) 予定していた国際会議発表や論文誌出版が次年度になったため。 (使用計画) 国際会議発表の出張旅費、参加費や論文誌出版費に使用予定です。
|