Vengineerの戯言

人生は短いけど、長いです。人生を楽しみましょう!

Xavier DLAがオープンソースに?


松岡先生のツイートから
  Amazing. NVIDIA to "open source" its Xavier DLA (domain-specific) 
  Deep Learning Architecture. (Not the CUDA cores nor the Denver CPU)
下記の写真は松岡先生のツイートの写真。
https://pbs.twimg.com/media/C_e_796WsAAR3T-.jpg:large
  Command Interface経由で Tensor Execution Micro-controllerで下記のフローを制御

 Memory Interface
 ・Input DMA (Activations and Weights)
 ・Unified 512KB Input Buffer (Activations and Weights)
 ・Sparse Weight Decompession + Native Winograd Input Transform
 ・MAC Array (2048 INT16 or 1024 INT16 or 1024 FP16)
 ・Output Accumulatiors
 ・Output Postprocessor (Activation Function, Pooling etc.)
 ・Output DMA
  Memory Interface
ここに出てきたWinogradは、3x3のような畳み込み演算をFFTより高速に処理できるようだ。
Winogradは、cuDNN 5でサポートしたようです。
TensorFlowでもWinogradを利用できる。
Winogradっと4x4のフィルタを使っているようだが、Voltaで導入されたTensorCoreも4x4。この4x4のTensorCoreをWinogradで利用するのだろうか。
Winograd:Fast Algorithms for Convolutional Neural Networks by Andrew Lavin, Scott Gray

7月アーリーアクセス、9月公開と。楽しみだ。




既にこの記事で後藤さんは、
引用
 それに対してXavierのGPU部は512コア構成とされている。Tesla P4と比較するとコア数は約5分の1だ。XavierのGPUコアが、Tesla P4と似たようなINT8の実装で、1GHzで動作するとしたら、4TOPS程度にしかならない計算だ。そのため、XavierのINT8のアクセラレーションは、現在のPascalとは異なる実装となっている可能性が高い。

 想定の1つは、Volta世代のGPUのコアの構成自体が、従来のNVIDIAのFP32演算コアとは異なる可能性だ。1コアで4-wayのINT8を4並列で実行できるなら、1.2GHz動作で512コアのGPUで20TOPSを実現できる計算になる。もう1つの想定は、INT8に特化したアクセラレータを別枠で備える可能性だ。Xavierには、コンピュータビジョンアクセラレータも搭載されており、低精度に特化したエンジンが搭載されている可能性もある。

あり、低制度に特化したエンジンが搭載される可能性がある、と明言しています。
VoltaにTensorCoreが搭載されたのも同じことなんでしょうね。