研究課題/領域番号 |
16K16026
|
研究機関 | 北海道大学 |
研究代表者 |
高前田 伸也 北海道大学, 情報科学研究科, 准教授 (60738897)
|
研究期間 (年度) |
2016-04-01 – 2018-03-31
|
キーワード | 高位合成 / コンパイラ / Python / FPGA |
研究実績の概要 |
本研究では,FPGAがもつオンチップメモリの総容量や帯域の制約下で,演算器および内部メモリシステムの構成を最適化し,最大性能を達成する高位設計フレームワークの実現を目指して研究を進めている.平成28年度は,研究計画に基づいて,性能予測が容易な高位ハードウェア設計方式の開発に取り組んだ.具体的には,以前より開発に取り組んでいる,プログラミング言語Pythonの文法と記述能力を活用したハードウェア設計技術のVeriloggenをベースに,レジスタ転送レベルの抽象度が低いハードウェア記述中に,より抽象度の高いハードウェア記述を埋め込むことができる,混合パラダイム型高位設計技術の開発に取り組んだ.まず,データフロー形式の計算パイプライン記述モデルとそれに対応するコンパイラを開発した.演算間の依存関係のみを記述するだけで,演算のスケジューリングやインターロック機構の挿入などが自動的に行われ,最大スループットの演算パイプラインを自動的に合成する技術が実現された.次に,Pythonの逐次処理記述をレジスタ転送レベルのFSMに変換する高位合成コンパイラを開発した.従来の高位合成コンパイラとは異なり,レジスタ転送レベルとの共存が可能であり,逐次処理部から任意のレジスタ転送レベルの信号に対して読み書きが可能である.そのため,従来の組み込みFPGAハードウェアでは,プロセッサ上のソフトウェアがオンチップバスを介してハードウェアを制御しており,性能と面積の面でコストが小さくなかったが,本技術により,対象ハードウェアをより低遅延に制御するシーケンサーを,より小規模な回路で実現することが可能になった.これらの今年度開発した技術を用いることで,性能が低い逐次処理レベルから,高い性能を達成するデータフローレベルおよびレジスタ転送レベルへの置き換えによる,明示的な性能最適化が可能になった.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
Veriloggenが以前よりサポートするレジスタ転送レベルに加えて,レジスタ転送レベルに埋め込み可能なデータフローレベル・逐次処理レベルの高位合成コンパイラを年度内に実現できたため,高い抽象度による明示的なハードウェア最適化のための基本技術は実現できたと考えられる.一方,汎用的なIPコア化技術の開発に先行して取り組んだため,計画段階で予定していたパフォーマンスカウンタの実装について,今年度の課題とする.開発したコンパイラの評価についても,深層学習や最適化ソルバーなどの発展的なアプリケーションについての評価を進めている.
|
今後の研究の推進方策 |
当初の計画通りに,メモリ量や帯域などの制約条件に基づいて,ハードウェア構成を自動最適化する技術の開発に取り組む.現時点で,データフローレベルの記述モデルにより計算パターンの表現を,逐次処理モデルにより外部とのデータ転送パターンの表現をそれぞれ可能であり,両者は分離されている.そのため,ルーフラインモデルに基づくシンプル方法で制約下で性能を最大化する構成を発見するため方法を定義することが可能であると考えている.また,深層学習等の実用に即したアプリケーションにより,開発する設計方式・コンパイラの有用性を評価する.
|
次年度使用額が生じた理由 |
研究代表者が奈良先端科学技術大学院大学から北海道大学に異動となり、それに際してスタートアップ研究費などの他の研究費が利用可能となり、そちらを優先して利用したため、繰り越しが発生した。
|
次年度使用額の使用計画 |
開発するコンパイラの評価に用いるFPGAプラットフォームの購入費用の一部に充てる。
|