# Pixel Visual Core [[Google]] が携帯端末(PMD; personal mobile device)向けに開発した、画像処理・コンピュータビジョン用のプログラマブルなスケーラブルDSA。2〜16コアを搭載可能で、単独チップまたはSOCのIPブロックとして統合できる。**画像処理ユニット(image processing unit; IPU)**という新カテゴリの例であり、出力画像を生成するGPUの逆問題(入力画像を解析・加工する)を解く。画像信号プロセッサ(ISP; 固定機能ASIC)を、プログラマブルなカーネルの有向非巡回グラフ(DAG)へ一般化したものと位置づけられる(Source: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 7 Domain-Specific Architectures]] §7.7)。 ## アーキテクチャ - **二次元SIMDのProcessing Element(PE)アレイ**: 16×16個のPE(各々2個の16ビットALU・1個の16ビットMACユニット・10個の16ビットレジスタ)からなる。一次元SIMDのCPUに対し二次元配置を採用することで通信距離を最小化する。 - **halo(ハロー)**: PEアレイの周囲に配置される簡略化PEの拡張領域。ステンシル計算の境界処理のために追加され、Pixel Visual Coreでは2層のhaloで20%の面積コストに収まる。 - **NSEWシフトネットワーク**: North/South/East/West方向へPE間でデータを一括シフトする通信網。端をトーラス状に接続。 - **二次元ラインバッファ**: コア間・DMAとの間でイメージデータを受け渡す、1インスタンス128 KiBのマルチリーダーFIFO。DRAMアクセスを最小化する主要機構。 - **命令セット**: Halideコンパイラが生成するvISA(仮想ISA、RISC-Vにインスパイアされる)を、STPサイズ・halo等のパラメータでpISA(物理ISA、119ビットVLIW)へ二段階でコンパイルする。GPUにおけるPTXと同様の役割。 - 8コア実装は TSMC 28 nm、6×7.2 mm、426 MHz、187〜4500 mWの電力範囲で動作。 ## 性能 CNN1においてTPU比で約1/50の性能(バッチサイズ1、TPUはバッチサイズ32)、GPU(K80)比で約半分、Haswell CPUよりやや高速。電力あたり性能では増分ベースでCPU比約100倍・GPU比約25倍・TPU比約半分に達する(Source: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 7 Domain-Specific Architectures]] §7.9)。 ## 関連 - ソース: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 7 Domain-Specific Architectures]] - エンティティ: [[Google]] / [[Google TPU]] / [[Microsoft Catapult]] / [[Intel Crest]] - 概念: [[ドメイン固有アーキテクチャ]] / [[AIアクセラレータ]] ## 出典 - [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 7 Domain-Specific Architectures]] §7.7, §7.9