Vengineerの妄想

人生を妄想しています。

Bridge TensorFlow* to run on Intel® nGraph™ backends v0.5 : ソースコード解析


昨日の続きです。

Intel nGraph Library を TensorFlow から使えるようにする「Bridge TensorFlow to run on Intel nGraph backends」の
v0.5 のソースコードを解析資料を Slideshare にアップしました。


作成は8月11日と19日で、公開は、2018年9月4日に公開ということに。

昨日のブログでは、XLAを利用するのではなく、NGRAPHというデバイスを登録して、
XLAと同様なような仕組みで、Intel nGraph Library を呼び出すというものでした。

v0.5ではん、NGRAPHバイスの登録を無くし、以下の2つのPassにてグラフ変換を行っています。
 ・POST_PLACEMENT           => NGraphVariableCapturePass

  . POST_REWRITE_FOR_EXEC    => NGraphEncapsulationPass

NGraphVariableCapturePass にて、VariableV2のすべてのインスタンスをNGraphVariable opに変換し、

NGraphEncapsulationPass にて、各クラスタに分割し、クラスタを NGraphEncapsulateOp にまとめて、
NGraphEncapsulateOp内の計算を Intel nGraph Library で変換すると。。。

TensorFlowのGraphDef => Graph => Intel nGraph Libraryのグラフに変換 と何度もグラフ変換しています。

NGraphSubOp にて、対応している Op が分かります。