負荷分散比自動チューニング機能を備えたFPGA-CPUハイブリッド実行向け設計支援ツールの提案

書誌事項

タイトル別名
  • Proposal of a Design Support Tool for FPGA-CPU Hybrid Execution with Automatic Load-balance Tuning Function

この論文をさがす

抄録

高位合成ツールの進展により書き換え可能なハードウェアであるFPGAをアクセラレータとして用い,C言語やOpenCLで記述された処理を高速化する手法が実用的になってきている.その結果,演算処理をCPUとFPGAの双方に負荷分散し,処理の高速化を実現するハイブリッド実行が利用可能である.しかし,ハイブリッド実行を行ううえでCPUとFPGAとの負荷分散比を手動で的確に決定するのはCPUとGPGPUにおけるチューニングに比べ困難である.これはC言語からCPUに向けたコンパイルに比べ,FPGA構成情報の合成は一般に数十分から数時間という長い時間を要するためである.したがって,一般的に用いられる試験的に動作させて取得したプロファイル結果に応じてチューニングを繰り返す方法では現実的な時間でチューニングができない.そこで,本発表では単一のC言語コードからハイブリッド実行用のCPUとFPGAの双方のコード開発生成を行うばかりでなく,短時間でCPUとFPGA間の負荷分散比の自動チューニングが可能な設計支援ツールを提案する.提案ツールは比較的短時間で得られる高位合成時のログを利用して短時間でパラメータチューニングを行う.本発表では提案ツールの評価として自動チューニングを適用し,適切な負荷分散比のハイブリッド実行においてCPUやFPGAどちらかのみで実行するよりも高速化できたことを確認した.

With the progress in high-level synthesis tools, it has been practical to use dynamically reconfigurable FPGA devices as accelerators for programs written in C language or OpenCL. As a result, it has been possible to accelerate computations by the hybrid execution that enables load-balanced computations on both CPU and FPGA. However, it is difficult to determine the optimal ratio of loads on CPU and FPGA compared with those on CPU and GPGPU. The reason of it is that it generally takes long time from several tens of minutes to several hours to synthesize FPGA configuration files from C or OpenCL programs. It is much longer than the compiling time of C programs to ordinary CPUs. It is therefore difficult to apply the conventional auto-tuning method to tune the ratio of loads on CPU and FPGA. In this presentation, we present a design support tool that generates hybrid execution codes on CPU and FPGA from C programs and also tunes the load-balance automatically in a short time. This tool utilizes the logs obtained by synthesizing FPGA configuration files to tune the load-balance. We confirmed that the hybrid execution of a benchmark program generated by our tool is faster than on either execution on only CPU or FPGA.

収録刊行物

キーワード

詳細情報 詳細情報について

  • CRID
    1050564287863122944
  • NII論文ID
    170000149773
  • NII書誌ID
    AA11464814
  • ISSN
    18827802
  • Web Site
    http://id.nii.ac.jp/1001/00191344/
  • 本文言語コード
    ja
  • 資料種別
    article
  • データソース種別
    • IRDB
    • CiNii Articles

問題の指摘

ページトップへ