1 / 46

画像認識向け 3 次元 積層 アクセラレータ・アーキテクチャの検討

画像認識向け 3 次元 積層 アクセラレータ・アーキテクチャの検討. 九州大学大学院システム情報科学府*  九州大学大学院システム情報科学研究院** 上野伸也 *  Gauthier Lovic Eric**  井上弘士** 村上和彰**. 概要. 画像認識技術 アクセラレータに よる高性能・低消費エネルギー化 アプリケーション分析 アクセラレータ・アーキテクチャ検討 性能・消費エネルギー評価 まとめ. 画像認識技術. 機械が人間に代わって,物事を理解,認識,判断 応用 分野 産業,医療,セキュリティ,安全技術, etc. 画像認識を行う機器への要求

toan
Download Presentation

画像認識向け 3 次元 積層 アクセラレータ・アーキテクチャの検討

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 画像認識向け3次元積層アクセラレータ・アーキテクチャの検討画像認識向け3次元積層アクセラレータ・アーキテクチャの検討 九州大学大学院システム情報科学府*  九州大学大学院システム情報科学研究院** 上野伸也* Gauthier Lovic Eric** 井上弘士** 村上和彰**

  2. 概要 • 画像認識技術 • アクセラレータによる高性能・低消費エネルギー化 • アプリケーション分析 • アクセラレータ・アーキテクチャ検討 • 性能・消費エネルギー評価 • まとめ

  3. 画像認識技術 • 機械が人間に代わって,物事を理解,認識,判断 • 応用分野 • 産業,医療,セキュリティ,安全技術,etc. • 画像認識を行う機器への要求 • 高性能 • 低消費エネルギー • ソフトウェア処理 http://www.honda.co.jp/news/2004/4040824a.html 車載カメラによる夜間の歩行者認識技術 「インテリジェント・ナイトビジョンシステム」(Honda)

  4. 画像認識アプリケーションのリアルタイム実行に必要な性能画像認識アプリケーションのリアルタイム実行に必要な性能 8.32 11.89 1.48 汎用プロセッサの数十倍~数百倍の性能が必要 リアルタイム性 を満たす実行時間 Feature Tracking 実行環境 *リアルタイム性を満たす:1秒間30枚の画像に対して処理を行う

  5. アクセラレータによる高性能・低消費エネルギー化アクセラレータによる高性能・低消費エネルギー化 Cell/B.E, GPU,etc ホストCPU 主記憶 アクセラレータ インターコネクト Cell/B.E TeslaS1070 *Xeon 5160 24GFLOPS 80W 288GFLOPS 210W 933GFLOPS 1123W 出典:http://www.elsa-jp.co.jp/products/hpc/tesla/s1070/index.html 出典http://www.itmweb.com スレッド/データレベル並列性を利用して高性能・低消費エネルギー化 アクセラレータの性能向上阻害要因   ・メモリ容量の不足   ・大規模化に伴う配線長の増加

  6. 3次元積層技術 • 異なるプロセスを経て製造されたダイ同士の積層 • 大容量のメモリを積層 ⇒ メモリ容量不足の緩和 • グローバル配線長の削減、チップ面積縮小 3次元積層を利用することで, より高性能・低消費エネルギーなアクセラレータを実現可能 TSV(Through SiliconVias) 出典:米インテル社

  7. 概要 • 画像認識技術 • アクセラレータによる高性能・低消費エネルギー化 • アプリケーション分析 • アクセラレータ・アーキテクチャ検討 • 性能・消費エネルギー評価 • まとめ

  8. 対象プログラムの決定 SD-VBSの各プログラムが含む処理 • SD-VBS[1] • Venkataらによる画像処理ベンチマークプログラムセット • 画像認識に対応するプログラム • SIFT • Image Segmentation • SVM • Disparity Map • Feature Tracking • 画像認識アプリケーションに良く用いられる • 計算量が大きい [1]S. K. Venkata,et al. “SD-VBS: The San Diego Vision Benchmark Suite,”Proc.IISWC,pp.55-pp.64,Oct. 2009

  9. 画像認識アプリケーション分析~SIFT~ ガウシアンフィルタによる画像平滑化 • 入力画像からSIFT特徴の特徴点を検出するプログラム • 物体認識、画像分類、特徴点追跡に用いられる DoG画像の生成 極値検出 各処理の実行時間 SIFTの処理フロー • 主曲率によるキーポイントの削除 低コントラストに基づくキーポイントの削除 実行時間(sec) ガウシアンフィルタ *IntelXeon 51603GHz で実行 ガウシアンフィルタ処理,DoG画像生成,極値検出に注目

  10. ガウシアンフィルタによる画像平滑化 平滑化 画像 ガウシアンフィルタ処理 スケールを変化()させながらそれぞれ画像平滑化 入力画像を2分の1にダウンサンプリング 画像サイズが一定値以下になるまで1.2.の処理を繰り返し L(2σ0) 入力画像 平滑化 画像 1オクターブ L(k*kσ0) 平滑化 画像 L(kσ0) 入力画像 L(σ0) ダウン サンプリング 平滑化画像 L(2σ0) L(k*kσ0) 入力画像 平滑化画像 L(kσ0) 平滑化画像 各平滑化画像の生成は 並列に行うことが可能 平滑化画像 L(σ0)

  11. ガウシアンフィルタ処理 注目画素をガウシアンフィルタの中心とする 画素値×ガウシアンフィルタ係数 2の結果を合計 結果を対応する場所に記入 1~4を全画素に対して行う ガウシアンフィルタ 平滑化 入力画像 平滑化画像

  12. DoG画像の生成と極値検出 平滑化画像と の差分を求める 並列に求めることが可能 • 3枚1組で比較を行う • 注目画素と26近傍画素で比較 • 注目画素が極値がどうか判定 • 極値の場合、当該画素をキーポイント候補に加える • 全画素に対して行う 極値検出 対象画像 DoG画像 スケール 平滑化画像

  13. 分析結果まとめ(並列度・入力データ数・演算の種類・DFGの深さ)分析結果まとめ(並列度・入力データ数・演算の種類・DFGの深さ) 並列性・演算に関する特性 X:オクターブ数 Y::スケール数 Zi:iオクターブ目の入力画素数 Nk:スケールkにおけるガウシアンフィルタのウィンドウサイズ

  14. 概要 • 画像認識技術 • アクセラレータによる高性能・低消費エネルギー化 • アプリケーション分析 • アクセラレータ・アーキテクチャ検討 • 性能・消費エネルギー評価 • まとめ

  15. 命令流 加速実行方式 データ流 (より性能低下要因が少ない) 命令フェッチ機構の簡略化 ・命令フェッチ機構の省略 ・レジスタファイルの省略 MIMD (Multiple Instruction Stream, Multiple Data Stream) 異なる命令を並列に実行可能 汎用性 SIMD (Single Instruction Stream, Multiple Data Stream) 同一命令を並列に実行 NIMD (No Instruction Stream, Multiple Data Stream) *全てのPEが100%動作すると仮定 PEアレイ上でのDFG直接実行 (より高性能・低消費エネルギー) 電力効率 PE(Processing Element)

  16. 命令流 各処理に適した加速実行方式 データ流 (より性能低下要因が少ない) 極値検出 DoG画像の生成 MIMD (Multiple Instruction Stream, Multiple Data Stream) 異なる命令を並列に実行可能 ガウシアンフィルタによる画像平滑化 汎用性 SIMD (Single Instruction Stream, Multiple Data Stream) 同一命令を並列に実行 NIMD (No Instruction Stream, Multiple Data Stream) *全てのPEが100%動作すると仮定 PEアレイ上でのDFG直接実行 (より高性能・低消費エネルギー) 電力効率 PE(Processing Element)

  17. 実行方式切り替え可能なNIMD/MIMD型アクセラレータ実行方式切り替え可能なNIMD/MIMD型アクセラレータ プロセッサコア プロセッサ・コアとメモリ・コアは密に結合 Register File ALU ALU メモリ間オンチップ ネットワーク ALUアレイ構成用 ネットワーク メモリコア Inst. Mem. Data Mem. Router

  18. 実行方式切り替え可能なNIMD/MIMD型アクセラレータ実行方式切り替え可能なNIMD/MIMD型アクセラレータ プロセッサコア MIMD実行 Register File ALU ALU メモリ間オンチップ ネットワーク ALUアレイ構成用 ネットワーク プロセッサコアとメモリコアが結合してPEを構成 ⇒複数スレッドを並列に実行 メモリコア Inst. Mem. Data Mem. Router

  19. 実行方式切り替え可能なNIMD/MIMD型アクセラレータ実行方式切り替え可能なNIMD/MIMD型アクセラレータ プロセッサコア NIMD実行 Register File ALU ALU × × × × + + メモリ間オンチップ ネットワーク + ALUアレイ構成用 ネットワーク 停止 メモリが隣接 ⇒単純なNIMD方式よりALU間の距離が長い 問題点: ALU間の配線長が長い  ⇒プロセッサコア間のデータ通信時間/消費エネルギー増加 メモリコア Inst. Mem. Data Mem. Router

  20. 3次元積層NIMD/MIMD型アクセラレータ プロセッサコア プロセッサ・レイヤ Register File ALU ALU ALUアレイ構成用 オンチップ・ネットワーク 密に演算器を集積 メモリコア Inst. Mem. メモリレイヤ Data Mem. Router コア間データ通信用 オンチップ・ネットワーク

  21. MIMD実行とNIMD実行 MIMD実行時 NIMD実行時 • プロセッサ・コアとメモリ・コアのペアにより1個のPEを構成 • 各PEは独立して動作 • 最大PE数のスレッド並列実行が可能 • メモリコアからALUアレイへデータ供給 • プロセッサコアとデータの入出力を行うメモリコアを変更⇒様々な形のALUアレイを実現

  22. MIMD方式 vs. 提案手法 • 提案手法(MIMD実行時) • 性能,消費エネルギーはMIMD方式と同一 • 提案手法(NIMD実行時) • 性能 向上要因             低下要因  • Load/Store命令削減 • 消費エネルギー削減効果 向上要因             低下要因 • 命令フェッチ • レジスタファイル • Load/Store命令実行 • 動作しないALU • 再構成 • 再構成 • コア間通信

  23. 概要 • 画像認識技術 • アクセラレータによる高性能・低消費エネルギー化 • アプリケーション分析 • アクセラレータ・アーキテクチャ検討 • 性能・消費エネルギー評価 • まとめ

  24. 評価環境 Fetch I$ • 実行プログラム:SD-VBSよりSIFTのガウシアンフィルタ処理,DoG画像生成,極値検出 • 評価モデル 性能・消費エネルギーモデルを用いて評価 • MIMD:MIMD方式のみで実行 • NIMD/MIMD(提案手法): NIMD方式とMIMD方式を切り替え可能 • PE数100(10×10),動作周波数 2GHz • 消費電力シミュレータ:sim-wattch[2] • アルゴリズムから実行演算数,マッピング可能なDFG,イタレーション数,データキャッシュアクセス数を計算 • メモリアクセスの時間・消費エネルギーは0 • 再構成/コア間通信の時間・消費エネルギーは0 RF EXE D$ 命令発行幅:1 32KB 32KB 32エントリ [2]Jianwei Chen,et al. “SimWattch: Integrating Complete-system and User-level Performance and Power Simulators,”IEEE Micro,Vol.27,no.4,pp.34-pp.48,2007.

  25. 性能評価 MIMD実行 MIMDの実行時間を1として正規化 NIMD実行 正規化実行時間 Load/Store命令数削減による性能向上 > 動作しないALUによる性能低下 MIMD方式のみの実行に比べ約7%の性能向上

  26. 消費エネルギー評価 MIMDの消費エネルギーを1として正規化 MIMD実行 NIMD実行 正規化消費エネルギー 命令フェッチ機構の省略, レジスタファイルの省略による効果 提案手法はMIMDに比べ 約40%の消費エネルギー削減

  27. まとめ • 画像認識アプリケーションの特性解析 • 処理によっては高性能/低消費エネルギーとなる実行方式が異なる • 実行方式切り替え可能なNIMD/MIMD型アクセラレータの提案 • 3次元実装技術を用いてより密に演算器を集積 • 性能/消費エネルギー評価 • MIMD方式のみに比べ7%の性能向上,40%の消費エネルギー削減

  28. 御清聴ありがとうございました

  29. ガウシアンフィルタ処理の消費エネルギー内訳ガウシアンフィルタ処理の消費エネルギー内訳 データキャッシュ レジスタファイル 演算器 命令フェッチor データストリーム制御 消費エネルギー比 レジスタファイルの削減効果 フロントエンドの削減効果 CP動作回数の削減効果

  30. 性能評価 0.025 0.023 0.024 実行時間(sec) MIMD方式のみに比べ約7%の性能向上

  31. 消費エネルギー評価 MIMDのみに比べ,約40%の消費エネルギー削減

  32. 命令流 加速実行方式 データ流 (より性能低下要因が少ない) Fetch IMem RF RF ALU D Mem MIMD (Multiple Instruction Stream, Multiple Data Stream) 異なる命令を並列に実行可能 D Mem ALU ALU 汎用性 SIMD (Single Instruction Stream, Multiple Data Stream) 同一命令を並列に実行 NIMD (No Instruction Stream, Multiple Data Stream) *全てのPEが100%動作すると仮定 PEアレイ上でのDFG直接実行 (より高性能・低消費エネルギー) 電力効率 PE(Processing Element)

  33. 命令流 各実行方式の性能低下要因 データ流 (より性能低下要因が少ない) MIMD (Multiple Instruction Stream, Multiple Data Stream) 異なる命令を並列に実行可能 ・PE間で異なる命令を実行する処理 汎用性 SIMD (Single Instruction Stream, Multiple Data Stream) 同一命令を並列に実行 NIMD (No Instruction Stream, Multiple Data Stream) ・実行DFGが頻繁に変更する処理 ・分岐命令を含む処理 ・PEアレイと実行DFGの幅/深さが  一致しない処理 PEアレイ上でのDFG直接実行 (より高性能・低消費エネルギー) 電力効率 PE(Processing Element)

  34. 実行モデル(MIMD方式) Fetch Front End I$ RF EXE D$ 時間 アクセラレータ ・・・ 3 1 2 4 1 1 1 1 2 2 2 2 6 6 6 6 5 メモリ ・・・・・・・ 2 2 2 2 6 6 6 6 ・・・ 1 1 1 1 6 2 2 2 2 6 6 6 6 1 1 1 1 6 6 6 6 1 1 1 1 2 2 2 2 データの 読み書き 必要に応じてLoad/Store命令を発行

  35. 実行モデル(SIMD方式) From SIMDコントロールユニット N iteration RF EXE D$ ブロードキャスト するため, 動作周波数は MIMDに比べ低い アクセラレータ CP 時間 命令の ブロードキャスト ・・・ 3 1 2 4 CP CP CP 6 1 2 5 ・・・・・・・ メモリ 6 1 1 1 1 2 2 2 2 6 6 6 6 2 2 2 2 6 6 6 6 ・・・ 1 1 1 1 データの 読み書き 2 2 2 2 6 6 6 6 1 1 1 1 6 6 6 6 1 1 1 1 2 2 2 2 必要に応じてLoad/Store命令を発行

  36. FromCP 実行モデル(NIMD方式) FromPE EXE D$ コア間通信が クリティカルパス 動作周波数が低下 アクセラレータ 時間 CP CP CP CP ・・・ 3 1 2 再構成情報 4 入出力制御 入出力制御 再構成情報 入出力制御 5 ・・・・・・・ 6 メモリ パイプライン 方式で実行 Load/Store命令が不要 動作しないPEが存在

  37. 性能モデリング IEXE:アルゴリズムの実現に最低限必要な命令数 ILS:ロード/ストア命令数Nx:動作PE数の平均 StallX:メモリアクセスのストール時間(sec)X:再構成回数 IPC:PEが1CCで実行可能な命令数 CCReconf:再構成1回の平均CCIteri:i回目構成時のイタレーション数 MAX_Di:i回目構成時のDFG深さ最大値  fx:XIMD方式における周波数

  38. 消費エネルギーモデリング

  39. 各パラメータの説明 • EFront:1動作あたりのフロントエンドの平均消費エネルギー • EBroad:SIMDコントロールプロセッサから1コアへ命令をブロードキャスト時の平均消費エネルギー • EEXE:1動作あたりの命令実行部分の平均消費エネルギー • ERF:1動作あたりのレジスタファイルの平均消費エネルギー • ED$:1動作あたりのデータキャッシュの平均消費エネルギー • Ereconf:再構成1回あたりの平均消費エネルギー • ESCP:1動作あたりのSIMDコントロールユニットの平均消費エネルギー • ENCP:1動作あたりのNIMDコントロールユニットの平均消費エネルギー • ECom:1動作あたりのコア間通信の平均消費エネルギー • Emem:1動作あたりのメモリ(主記憶)の平均消費エネルギー • N:PE数      X:再構成回数 • NPE_i:i回目の構成で動作するPE数 • Nin_i:i回目の構成でメモリからデータを入力されるPE数 • Nout_i: i回目の構成でメモリへデータを出力するPE数 • NCom_i: i回目の構成のコア間通信数 • Iteri:i回目に構成したDFGのイタレーション数 • Rmiss:データキャッシュのミス率

  40. モデリングによる評価 • 目的 • 提案手法の高性能・低消費エネルギー化効果を明確にする • 評価指標 • 性能 • 消費エネルギー • 比較対象 • MIMD方式のみ • NIMD方式のみ • NIMD方式のみ(PEアレイの深さと幅を変更) • 提案手法(MIMD方式とNIMD方式を切り替え+PEアレイの深さと幅を変更)

  41. アプリケーション分析結果 ・・・ DoG画像 の生成 ガウシアン フィルタ処理 極値検出 N Iterations L Iterations 2W^2 K 52 - - - - - ・・・ × × × × × × ・・・ ・・・ + + + + ・・・ + 比較演算 W=(11,15,17,21,27)の5種類 入力画素(288×288)のとき 各WにつきN=552,420 入力画素(288×288)のとき K=441,936 入力画素(288×288)のとき L=220,968 依存関係の深い 同一計算のくり返し データレベル並列性が高い スレッドレベル並列性が高い

  42. 実際の実行における並列度 ウィンドウサイズ: 11,15,17,21,27 Cif:画像平滑化 vga:画像平滑化 fullhd:画像平滑化

  43. 画像平滑化処理の並列性 ガウシアンフィルタ 平滑化を行うために 必要なデータ 求める値 入力画像 平滑化 画素の平滑化は全て並列に実行可能

  44. DoG画像の生成 入力画像 ガウシアンフィルタによる平滑化 並列に求めることが可能 同一オクターブ内の隣接した平滑化画像の差分を取る

  45. 特性解析(DoG画像の生成) 平滑化画像A 求める値 DoG画像 - 必要なデータ 平滑化画像B • 各画素値は並列に求めることが可能 • メモリ参照の空間的局所性は高い • メモリ参照の時間的局所性は低い • 演算は減算のみ

  46. 極値検出方法 2次元の例 1次元の例 対象画像 対象画像 極値 4方向全てで極値= 中央の画素は極値 対象とする画素値が極値検出対象 となっている全画素の中で最大もしくは最小

More Related