第165回計算機アーキテクチャ研究会 2007/6/01 高並列アレイ型プロセッサIMAPCARの アーキテクチャとその技術展望 NEC システムIPコア研究所 京 昭倫 slide 2 Outline 概要 VLIW方式に基づくPEを多数一次元に結合したIMAPプロセッ サの設計思想、アーキテクチャ、プログラミング手法、最近製品 化されたIMAPCARを含むこれまで開発されたIMAPシリーズプ ロセッサのチップ構成、最後に今後の技術展望について述べる。 1.設計思想 2.アーキテクチャ 3.プログラミング手法 4.チップ構成と性能 6.まとめ・今後の技術展望 第165回計算機アーキテクチャ研究会 slide 3 1.設計思想 第165回計算機アーキテクチャ研究会 slide 4 プロセッサ設計におけるトレードオフ コスト vs 性能 vs 柔軟性 (プログラム容易性・ 適用範囲の広さ) スパコン: マイクロコントローラ: ◎ コスト 第165回計算機アーキテクチャ研究会 ◎ × 性能 × 専用エンジン: 性能 性能 ○ 柔軟性 ◎ コスト ○ 柔軟性 ○ × コスト 柔軟性 slide 5 「3者間トレードオフ」が発生する理由(仮説) プログラムメモリ 実行シーケンス管 理 キャッシュ制御 各種I/F回路等 柔軟 性 ピーク 性能 演 回算 路関 連 ダイ写真を元にプロットしてみると・・ 100 制 御 関 連 回 路 比 率 (%) 制 回御 路関 連 データパス 専用ハード レジスタファイル データメモリ … 柔軟性ギャップ (使いにくさ)はおお よそイメージ通り Itanium Sparc64 SPE(CELL) A社VLIWプロセッサ B社VLIWプロセッサ C社ASSP 専用ハード 100 演算関連回路比率(%) コスト(発熱、ダイサイズ) 第165回計算機アーキテクチャ研究会 slide 6 仮説が正しいとすると・・ 汎用 成功ゾー ン 柔 軟 性 アーキテクチャ研究、コンパ イラ研究におけるチャレンジ 100%=(回路規模) 制御回路 失敗ゾーン 専用 性能 第165回計算機アーキテクチャ研究会 柔軟性 演算 回路 性能 =コスト一定制約 slide 7 メディア処理プロセッサの場合 商品性(ニーズ): 項目 従来 近年 性能 ○ ○ コスト ○ ○~△ 柔軟性 △~× ○~△ 柔 軟 性 汎用 近年のメディア処理 IMAPプロセッサの位置 プロセッサ・設計ゾーン MIMD+SIMD命令セット(S社:9コア,'05) 高性能VLIW(F社:4コア,'05) 高並列SIMD(C社:1024コア,'06) VLIW+SIMD命令セット(T社:3コア,'04) 高並列SIMD(N社:128コア,'06) 高並列SIMD(A社:4096コア,--) 従来の設計ゾーン: 専用ハード+汎用高性能 マイコン 専用 性能 要求性能(GOPS) 車載を考慮すると2W程度 1000 制御 演算回路 100 回路 2次元的認識 車間維持 レーン維持 標識認識 2005 第165回計算機アーキテクチャ研究会 4次元的認識 予測安全 人物行動予測 高度障害物検知 車両行動予測 人物検知 衝突回避ブレーキ 50~100GOPS プログラマビリティ維持に 必要最低限 3次元的認識 障害物検知 Stop & Go 衝撃軽減ブレーキ 2007 2010 2015 slide 8 IMAPプロセッサのチャレンジ Peak Performance(GOPS) 柔 軟 性 汎用 メディア処理プロセッサ 設計ゾーン 1000 IMAP-CE 100MHz, 128PE/Chip 4-Way VLIW 100 柔軟性低下 実性高 現能コ 比ス ト IMAPプロセッサのチャレンジ IMAPシリーズ 10 プロセッサの 位置(出発点) 1 IMAPCAR 100MHz, 128PE/Chip 4-Way VLIW+MAC IMAP-2 40MHz, 64PE/Chip IMAP-VISION 40MHz, 32PE/Chip IMAP-1 専用 0.1 性能 柔軟性向上施策(使いやすくするための工 夫): 15MHz, 8PE /Chip 1990 1995 2000 2005 2010 Year •構造がシンプルなSIMD型一次元プロセッサアレイ(LPA)からスタート 1. 並列化方式を整備 2. 並列化方式の効率的実現に向けたハード構成の工夫 3. 独自データ並列C言語・コンパイラ整備 Linear Processor Array 第165回計算機アーキテクチャ研究会 slide 9 2.IMAPプロセッサのアーキテクチャ 第165回計算機アーキテクチャ研究会 slide 10 一次元プロセッサアレイ(LPA)の基本構成 MEM ALU Registers Comm.reg PE PE PE PE PE Control Processor 第165回計算機アーキテクチャ研究会 slide 11 1次元結合を選択する理由 1次元結合(LPA) PE PE PE 例) CLIP7A[’88] AIS-5000[88] SLAP[’87] SVP[’90] MAPP2200[’92] RIPE[’93] CNAPS[’96] LAP[’96] Xetal[’03] 2次元結合(SPA) 他 PE PE PE PE PE PE PE PE PE 例) CLIP4[’76] MPP[’80] VisionMachine[’88] MGAP[’93] CAP[’93] RTA/1[’93] SIMPil[’99] VisionChip[’99] LPA ピン数・配線数で有利 同PE数ならば 画像入出力性能は同一 低レベル画像処理性能は同一 SPA P.P. Jonker : Why linear arrays are better image processors, ICPR 94, Vol.3, pp.334--338, 1994. 第165回計算機アーキテクチャ研究会 slide 12 LPAの基本動作 1) SIMD型算術演算 MEM 2)隣接データ参照 ALU Registers Comm.reg PE 3)スカラー抽出・代入 PE PE PE PE 4) PEステータス集計 Control Processor Scalar operation / instruction broadcast / PE status collection 第165回計算機アーキテクチャ研究会 slide 13 LPAの拡張動作 d) 命令の自律性 b)アドレッシングの自律性 a) 動作の自律性 MEM ALU Registers (間接アドレッシング) (SIMD型条件実行) Comm.reg c)通信・結合の自律性 PE PE PE PE PE Control Processor (遠距離PE間データ交換) PE自律性拡張=ハードウェアコスト増大→取捨選択必要 第165回計算機アーキテクチャ研究会 slide 14 ターゲット・アプリケーションに着目すると・・ Sensors Video rate input pixels 低レベル画像処理 pixels 前処理 ノイズ除去 ひずみ補正 中レベル画像処理 低レベル 特徴抽出 symbols エッジ・輪郭 局所特徴に カラー特徴 動きベクトル 基づく識別 容易に並 列化可能 領域分割 計測 統計量計測 推論等 高次特徴抽出 マッチング モデルフィティング LPA向け並列化手法が未整理 第165回計算機アーキテクチャ研究会 高レベル処理 slide 15 主要な7種類の画素操作グループに着目 幾何的演算(Geometric. Op. : GeO) 大域演算(Global Op.: GlO) センサー 統計的演算 画素 Input Image X Output Image Y Input Image X Output Image Y 点演算 (Point Op.: PO) (Statistical Op.: SO) 低レベル処理 前処理 低レベル特徴抽出 Input Image X Output Image Y 中レベル処理 シンボル 計測 局所特徴に基づく識別 近傍演算 (Local Neigh. Op.: LNO) Input Image X Output Image Y Output vector / scalar V Input Image X 画素 高次特徴抽出 物体演算(Object Op.: OO) Output vector / scalar V Input Image X 高レベル処理 (Recursive Neigh. Op.: RNO) 再帰的近傍演算 Input Image X Output Image Y 第165回計算機アーキテクチャ研究会 slide 16 LPA向け並列化方式の開発('93~) 画素参照定義パタン LPA向け並列化方式関連文献 1)点演算(PO) 2)近傍演算(LNO) LPA上では自明な並列化方式 3)統計的演算(SO) 濃淡ヒストグラム計算:[Danielsson 89]で言及、 [Kyo 94] [Helman 95]で明示 4)大域演算(GlO) DFT[Helman 95], ハフ変換[Fisher 89] 5)幾何学的演算(GeO) 並進移動[Helman 95], 90度回転 [Kyo 94] 6)再帰的近傍演算(RNO) 距離変換他[Kyo 96] 7)物体演算(OO) 伝搬処理他[Kyo 97], [Olk 97], [Olk 01] 1) ~ 7) 全体 第165回計算機アーキテクチャ研究会 4種のメモリアクセスパタンに整理 [Kyo 04] slide 17 4種類のメモリアクセスパタンへ分類→並列化方式を整理 データ定義時の順序制約の有 LPAワーキングモデル 無 データ参照 時のローカリ ティ 局所 性 無制約 静的制約 動的制約 PUL No GU - - Yes LU LS LD PO,LNO SO,GlO,GeO 水平型 PE array 各PEの ローカルメモリ シストリック型 PE array RNO 傾斜型 PE array PE array OO 自律型 処理対象画像全体 (2次元メモリ面) PE array Pixel Updating Line 第165回計算機アーキテクチャ研究会 slide 18 LPAの拡張仕様の(一部)採用へ 傾斜したPULの生成に必要 非連続なPULの生成に必要 d) 命令の自律性 PE array b)アドレッシングの自律性 PE array a) 動作の自律性 MEM ALU Registers (間接アドレッシング) (SIMD型条件実行) Comm.reg 多少強化 c)通信・結合の自律性 PE PE PE PE PE Control Processor 第165回計算機アーキテクチャ研究会 (遠距離PE間データ交換) slide 19 他研究(LPA)との比較 Name Yr. By PE/Chip Bit/PE の自律性 アドレッシングの 自律性 動作 CLIP7 83 UCL 1 16 ○ ○ AIS-5000 87 AIS 8 1 × × SLAP 87 CMU 4 20 × ○ SVP 90 TI 1024 1 × × IMAP1 92 NEC 8 8 ○ △ RIPE 93 T.H.U. 8 16 ○ × CNAPS 96 ASI 32 16 × ○ IMAP-VISION 96 NEC 32 8 ○ ○ LAP 96 Sony 4320 1 × × SLIM-2 98 AJ.U. 64 8 ○ × Xetal 01 Philips 320 10 ○ × IMAP-CE 03 NEC 128 8 ◎ ◎ 専用命令追加でア ドレッシングの自律 性・動作の自律性 サポートを強化、 PE間結合も若干強 化 Ri10 03 Ricoh 224 16 × × 演算器性能強化 並列化方式に対 する研究成果を踏 まえ、アドレッシン グの自律性のサ ポートを強化 '06 IMAPCAR製品化 第165回計算機アーキテクチャ研究会 slide 20 3.プログラミング手法 第165回計算機アーキテクチャ研究会 slide 21 1DC (One Dimensional C) 特徴 sepデータ構造、その専用演算子と専用制御構文 一次元プロセッサ用に構文や演算子の拡張を行った並列C言語 概要 int d; sep char a,b,c,ary[256]; 6種類の拡張 SIMD算術演算 隣接データ参照 ステータス集計 スカラー代入・抽出 アドレッシングの自律 動作の自律性 第165回計算機アーキテクチャ研究会 PE0 のa 1DC記述例 PE b = a op c b = :> a; (or :<a;) d= :||a; (or :&&a;) a:[3:] = d; d = a:[3:]; a = b [ c ]; mif (a) b = c; PE1 のa PE PE2 のa PEn-2 PEn-1 のa のa PE PE Control Processor PE int d slide 22 「水平型PULの利用」:画像フィルタの例 例) エッジ検出フィルタ y=0 y=120 y=200 y= {number of lines} LU : 局所近傍的参照・順序制約無し定義 •データ参照は局所近傍(隣接PEからデータをもらってくる) •順序制約無しなので、どこから始めてもよい PULの形状・動き(画素更新順序)は本来、任意でもよい。 第165回計算機アーキテクチャ研究会 slide 23 水平型PUL:平均値フィルタの場合(1) sep uchar src[256], dst[256]; ave33( ){ int i; 3行分を加算(SIMD算術演算) sep int csum; for(i=1;i<LINES-1;i++){ csum = src[i-1] + src[i] + src[i+1]; /*1*/ dst[i] = :>csum + csum + :<csum; /*2*/ dst[i] /= 9; } } src[i-1] ・・・・ a6 src[i] ・・・・ b6 ・・・・ c6 + + src[i+1] = csum 第165回計算機アーキテクチャ研究会 a7 + b7 + c7 ↓ a8 ・・・・ b8 ・・・・ c8 ・・・・ ・・・・ a6+b6+c6 a7+b7+c7 a8+b8+c8 ・・・・ slide 24 水平型PUL:平均値フィルタの場合(2) ave33( ){ int i; 隣接データ参照(:>,:<) し、SIMD算術加算 “+” sep int csum; for(i=1;i<LINES-1;i++){ csum = src[i-1] + src[i] + src[i+1]; /*1*/ dst[i] = :>csum + csum + :<csum; /*2*/ dst[i] /= 9; } } :>csum ・・・・ a5+b5+c5 a6+b6+c6 a7+b7+c7 ・・・・ + + 水平型PUL(全PEが 同時に同じY位置の画 素を処理)により隣接 PEによるメモリアクセ ス結果の流用が可能 に。 第165回計算機アーキテクチャ研究会 csum ・・・・ a6+b6+c6 a7+b7+c7 a8+b8+c8 + + :<csum ・・・・ a7+b7+c7 a8+b8+c8 a9+b9+c9 ・・・・ ↓ = dst[i] ・・・・ ・・・・ a5+b5+c5 a6+b6+c6 a7+b7+c7 ・・・・ a6+b6+c6 a7+b7+c7 a8+b8+c8 a7+b7+c7 a8+b8+c8 a9+b9+c9 slide 25 シストリック型PULの利用: ヒストグラム計算の例 GU : 大域的参照・順序制約無し定義 隣接間PE結合だけでは、処理のレーテンシは下げられないが、 各PEによる集計動作の並列化でスルプットを高める。 列方向集計 シストリック型 yの値(ヒストグラム 結果)を棒グラフで 現画像上に表示 行方向集計 PE array 第165回計算機アーキテクチャ研究会 slide 26 シストリック型PULの動作例 (濃淡ヒストグラム計算) 逐次処理すると:36ステップ 全PEが同時に相異なる種類の情報を集計 6ステッフ後に終了 6PEで6倍高速化 第165回計算機アーキテクチャ研究会 slide 27 傾斜型(slant) 傾斜型PULの使用: 距離変換の例 PE array LS : 局所的参照・静的順序制約有り int i,cnt; sep uchar sx=0,sy=0; for(sy=0,i=0,cnt=0;i<M*(lines-1)+PENO;i++) { sx:[0:]=1; mif(sx & (cnt%M==0)) update( src+(sy++) ); // update pixels at the wave-front cnt++; sx = :>sx; } } 動作の自律性(X方向)+アドレッシングの自律(Y方向) The result 第165回計算機アーキテクチャ研究会 2値画像の距離変換(典型的なRNO処理) slide 28 自律型 自律型PULの利用:領域拡張処理の例 LD : 局所的参照・動的順序制約有り PE array PE毎に順序情報格納領域を用意し、更新順序を動的に制御 全stackが空に なると終了 第165回計算機アーキテクチャ研究会 slide 29 並列化方式の組み合せによる機能実現 90度回転 2回 PE PE PE PE PE PE 細線化 + PE PE + PE PE PE PE PE PE PE ラベル付け 領域拡張 + PE PE PE 第165回計算機アーキテクチャ研究会 PE PE PE slide 30 4.IMAPプロセッサのチップ構成と性能 第165回計算機アーキテクチャ研究会 slide 31 IMAPシリーズプロセッサのロードマップ Peak Performance (GOPS,8bit) レチクル検査装置 1000 IMAP-CE 100MHz,128PE/Chip 4-Way VLIW 100 10 1 車載画像認識 プロセッサ IMAP-2 40MHz, 64PE/Chip IMAPCAR 100MHz, 128PE/Chip 4-Way VLIW+MAC IMAP-VISION 40MHz, 32PE/Chip IMAP-1 0.1 25MHz, 8PE /Chip 1990 第165回計算機アーキテクチャ研究会 1995 2000 交通流計測 トンネル監視 2005 レチクル検査装置 屋外監視 2010 Year slide 32 IMAP-VISIONの概要('97~) 動作・アドレッシングの自律性を備えたLPA 各PEは2KBのローカルメモリ・RISC型命令セットを有する IMAP-VISONシステム:32PE/Chip、8チップで256PE 256 PE array 第165回計算機アーキテクチャ研究会 Control processor 256 PE array slide 33 IMAP-CE (ISSCC'03)への進化 1DC program 複合命令導入 専用命令導入 Row Systolic Slant Autonomous PE array PE array PE array PE array 1DC compiler / linker External Mem. I/F 高速自律アドレッシング SDRAM/SSRAM 高速PEグルーピング IMEM 4 Way VLIW PE 0 IMEM 4 Way VLIW PE 1 IMEM 4 Way VLIW PE 127 128 Video OUT 高速隣接データ参照 Video IN PE間転送ビット幅拡大 第165回計算機アーキテクチャ研究会 SR0 SR1 SR2 SR3 Control Processor (CP) P$,D$,STK RAM Host Processor CP/PE融合パイプライン PE/CP間データ授受のパ イプライン化 slide 34 IMAP-CEの諸元 (PE8: 8PEs 集積ブロック) DPLL 11.0mm Ext. I/F PE8 PE8 PE8 PE8 11.0mm IMAP-CEを実装したPCIボード PE8 CP PE8 PE8 PE8 PE8 PE8 PE8 PE8 PE8 PE8 PE8 PE8 トランジスタ数 32.7M (180nmプロセス) PE数 128 消費電力: 2W~4W (1.8 V, 100MHz) オンチップメモリ(PE): 256KB (アクセスバンド幅:12.8GB/s) オンチップメモリ(CP): 32KB(I$) + 2KB(D$) + 1KB(Stack) 外部インタフェース: SDRAM(64b,100MHz), PCI(32b,33MHz) 第165回計算機アーキテクチャ研究会 slide 35 7つの主要画素操作グループに対する処理性能 Operation group kernels IMAP-CE@100MHz, 1DC compiler codes [email protected] , Intel C compiler codes speedup Op. Grp. Kernel Name PO Color format trans. 140 LNO 3x3 ave. filter 120 SO Histogram 100 GlO FFT 80 GeO 90 degree rotation RNO Distance transform OO Connected component labeling parallelism (max.128) 8 7 GPP IMAP-CE Parallelism 6 5 4 60 3 40 2 1 20 0 0 PO LNO 第165回計算機アーキテクチャ研究会 SO GlO GeO RNO OO (Ave.) slide 36 高並列SIMD VS SIMD命令 20 18 16 14 12 10 8 6 4 2 0 GPP(MMX) IMAP-CE (Ave.) Smoothing Canny Var5oct Mexican13 Gauss5 GreyOpen3 Complexity Add2 10 9 8 7 6 5 4 3 2 1 0 # of if-clause per pixel op. speed-up IMAP-CE@100MHz, 1DC compiler codes [email protected] , MMX codes Benchmark kernels name PO LNO Add2 dyadic arithmetic GreyOpen3 3x3 grey morphology Gauss5 5x5 filter Mexican13 13x13 conv. Var5Oct 5x5 texture analysis Canny edge detection (3x3) Smoothing edge preserving smoothing (7x7) Only PO,LNO kernels are used du to the nature of MMX inst. P4比10~50倍の電力性能比 第165回計算機アーキテクチャ研究会 Purpose slide 37 画像認識アプリケーションでの性能比較 IMAP-CE@100MHz: use 1DC [email protected]: use C IMAP -CE GPP 0 20 40 60 80ms Lane Mark Detection Vehicle Detection four local windows foreward looking camera Search Validate Lane Mark Detection 第165回計算機アーキテクチャ研究会 in max. six vehicles Tracking vechicles slide 38 製品化版チップIMAPCAR ('06~) 広い動作温度(-40~+85)、2W以下、高い信頼性 IMAP-CEからの進化 IMAPCARチップのダイ写真 IMAPCE IMAPCAR Tr数 33M 26M プロセス 180nm 130nm 外部I/F SDRAM SSRAM ピーク性能 (GOPS) 50 100 消費電力 2~4W 2W以下 コア電圧 1.8V 1.2V (24bMAC,16bALU追加) PE数 128 IMAPCARはNECエレクトロニクス株式会社の日本における登録商標です。 第165回計算機アーキテクチャ研究会 '06日刊工業新聞モノづくり部品大賞 大賞受賞 トヨタ・レクサスに搭載(障害物検知用エンジン) slide 39 6.まとめ・今後の技術展望 第165回計算機アーキテクチャ研究会 slide 40 ま と め プロセッサ設計におけるトレードオフ IMAPアーキテクチャのアプローチ コスト性能比優先 並列化方式整備で柔軟性低下対策 車載スペックを満足したIMAPCARの製品化 アプリレベルでP4比~50倍の電力性能比 拡張C言語プログラミング環境 第165回計算機アーキテクチャ研究会 slide 41 今後の技術展望 SIMDアーキテクチャのコスト性能比の優位性を維持しながら 柔軟性(適用範囲・プログラム容易性)を上げられないか。 コスト一定 •今後の方向性 制御関連回路 演算関連回路 汎用プロセッサ a) 動作の自律性 演算関連回路 設計ゾーン 柔 b) アドレッシングの自律性 軟 XCコア 性 c) 結合・通信の自律性 IMAPCAR d) 命令の自律性 メディア処理プロセッサ 制御関連 回路 設計ゾーン 但し コスト増は最小化したい 専用エンジン 設計ゾーン 性能 (eXtensible Computing Core: to appear at ICS'07) 第165回計算機アーキテクチャ研究会 slide 42 ご静聴ありがとうございました。 第165回計算機アーキテクチャ研究会
© Copyright 2024 ExpyDoc