Vengineerの妄想

人生を妄想しています。

Glow、その1


PyTorch 1.0にもちょこっと書いた Glow


  Glow is a machine learning compiler and execution engine for various hardware targets. 
  It is designed to be used as a backend for high-level machine learning frameworks. 
  The compiler is designed to allow state of the art compiler optimizations 
  and code generation of neural network graphs. 

  This library is experimental and in active development.

    High-Level Graph => Low-Level IR => Machine Code

これって、TensorFlow XLA の TensorFlow GraphDef => TensorFlow XLA (HLO => LLO) と同じ感じですね。。。

バックエンドは、TensorFlow XLAのLLVMと同じです。LLVMのバージョンは、5.0です。


Backend:Backend-Specific Functionalityこれによると、InterpreterOpenCL、CPUをサポート。



最適化:Glow optimization passes、グラフの最適化とIRの最適化 (学習&推論時の性能およびメモリ使用量)



量子化:Quantization in Glow、32ビッチ浮動小数点を8ビット整数に量子化