ソフトウェアを数倍~数十倍高速に実行できるハードウェア・アクセラレータの設計技法
ソフトウェアを数倍~数十倍高速に実行できるハードウェア・アクセラレータの設計技法
|
【開催日】2013年10月11日(金) 10:00-17:00 1日コース
【セミナNo.】ES13-0124 【受講料】16,000円(税込)
【会場】東京・巣鴨 CQ出版社セミナ・ルーム [地図]
【セミナNo.】ES13-0124 【受講料】16,000円(税込)
【会場】東京・巣鴨 CQ出版社セミナ・ルーム [地図]
信号処理や動画像データの処理,通信パケット処理,昨今はやりのビッグ・データの処理など,高速性とリアルタイム性の要求から,一般的なCPUでは処理しにくいアプリケーションが増えている.こうした問題を解決する手段の一つとして,特定の処理をCPUの数倍~数十倍高速に実行できる専用ハードウェア(いわゆるハードウェア・アクセラレータ)を組み込む方法がある.ただし,ソフトウェア・プログラムとして用意された処理手順(アルゴリズム)をハードウェア化するには一般に,一部の機能の変更や再設計が必要となる.
本セミナでは,ソフトウェア・プログラムとして用意されたC言語記述(アルゴリズム記述)を,Verilog HDLのRTL(Register Transfer Level)記述に書き換える(リファインする)手順と,その具体的な方法について解説する.背景となる理論と書き換えの作法をきちんと理解していれば,高価なツールを使わなくてもスムーズにハードウェア化することができる.具体的には,性能とコストに影響する浮動小数点演算の固定小数点演算への置き換え,ポインタ操作,配列操作,並列性と順次性のトレードオフなどについて,簡単な負荷解析の事例を交えながら説明する.最後に,実際にRTL記述を作成する際に重要となるハードウェア・アーキテクチャへのマッピングの方法について説明する.
本セミナでは,ソフトウェア・プログラムとして用意されたC言語記述(アルゴリズム記述)を,Verilog HDLのRTL(Register Transfer Level)記述に書き換える(リファインする)手順と,その具体的な方法について解説する.背景となる理論と書き換えの作法をきちんと理解していれば,高価なツールを使わなくてもスムーズにハードウェア化することができる.具体的には,性能とコストに影響する浮動小数点演算の固定小数点演算への置き換え,ポインタ操作,配列操作,並列性と順次性のトレードオフなどについて,簡単な負荷解析の事例を交えながら説明する.最後に,実際にRTL記述を作成する際に重要となるハードウェア・アーキテクチャへのマッピングの方法について説明する.
1.Cアルゴリズムのハードウェア化の必要性
1.1 必要性
1.2 信号処理,画像処理,ビッグ・データ処理のハードウェア化の課題
2.Cアルゴリズムのハードウェア化の概要
2.1 ハードウェア化までのリファイン・フロー
2.2 各リファイン・ステップの作業概要
3.サンプル・デザインの説明
3.1 機能仕様
3.2 目標の性能とハードウェア化のポイント
4.準備作業
4.1 ツールの整備
4.2 自作ツールの作成
4.3 検証環境の整備
5.Cアルゴリズムのリファインメント
5.1 再帰呼び出しの変換
5.2 ハードウェア化困難な演算子の対策
5.3 ポインタの変数および配列への変換
5.4 関数展開
5.5 コードの最適化変換
6.浮動小数点変数の固定小数点化
6.1 固定小数点化の課題
6.2 固定小数点化に向いたコード
6.3 固定小数点化の手順
6.4 プロファイルによるダイナミック・レンジの取得
6.5 仮のビット幅確定と検証方法
6.6 詳細なビット幅確定と検証方法
7.簡易負荷解析内容と方法
8.並列性と順次性の解析
8.1 概要
8.2 シーケンス・グラフ作成
9.ハードウェア・アーキテクチャの検討
9.1 検討のポイント
9.2 アーキテクチャのマッピング
10.サイクル・アキュレート記述への変換方法
10.1 スケジューリング
10.2 リソースの共有
11.Verilog HDLのRTL記述への変換方法
11.1 変換ルール
●対象聴講者
・FPGAやASICの設計者
・C言語を理解している方
・Verilog HDL言語で設計できる方
●講演の目標
・C言語からVerilog HDLのRTL記述への変換について,マニュアルで行う際の手順が分かる
・ソフトウェア・プログラムの浮動小数点演算記述を固定小数点演算記述に書き換えられる
1.1 必要性
1.2 信号処理,画像処理,ビッグ・データ処理のハードウェア化の課題
2.Cアルゴリズムのハードウェア化の概要
2.1 ハードウェア化までのリファイン・フロー
2.2 各リファイン・ステップの作業概要
3.サンプル・デザインの説明
3.1 機能仕様
3.2 目標の性能とハードウェア化のポイント
4.準備作業
4.1 ツールの整備
4.2 自作ツールの作成
4.3 検証環境の整備
5.Cアルゴリズムのリファインメント
5.1 再帰呼び出しの変換
5.2 ハードウェア化困難な演算子の対策
5.3 ポインタの変数および配列への変換
5.4 関数展開
5.5 コードの最適化変換
6.浮動小数点変数の固定小数点化
6.1 固定小数点化の課題
6.2 固定小数点化に向いたコード
6.3 固定小数点化の手順
6.4 プロファイルによるダイナミック・レンジの取得
6.5 仮のビット幅確定と検証方法
6.6 詳細なビット幅確定と検証方法
7.簡易負荷解析内容と方法
8.並列性と順次性の解析
8.1 概要
8.2 シーケンス・グラフ作成
9.ハードウェア・アーキテクチャの検討
9.1 検討のポイント
9.2 アーキテクチャのマッピング
10.サイクル・アキュレート記述への変換方法
10.1 スケジューリング
10.2 リソースの共有
11.Verilog HDLのRTL記述への変換方法
11.1 変換ルール
●対象聴講者
・FPGAやASICの設計者
・C言語を理解している方
・Verilog HDL言語で設計できる方
●講演の目標
・C言語からVerilog HDLのRTL記述への変換について,マニュアルで行う際の手順が分かる
・ソフトウェア・プログラムの浮動小数点演算記述を固定小数点演算記述に書き換えられる
【講師】
嶋崎 等 氏〔(株)礎デザインオートメーション 代表取締役社長〕
FPGA,ASICなどのLSIの開発および設計ツールの開発など20年以上従事.特にC言語で書かれたプログラムをハードウェア化する開発に長く携わってきた.2012年あたりからディープ・ラーニングなどによる画像,医療,手書き文字認識,その他機械学習よる様々なデータ分析の開発を手掛けている.
嶋崎 等 氏〔(株)礎デザインオートメーション 代表取締役社長〕
FPGA,ASICなどのLSIの開発および設計ツールの開発など20年以上従事.特にC言語で書かれたプログラムをハードウェア化する開発に長く携わってきた.2012年あたりからディープ・ラーニングなどによる画像,医療,手書き文字認識,その他機械学習よる様々なデータ分析の開発を手掛けている.