@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそ、すべては、SystemC v0.9公開から始まった
最近、おさぼりしている、Cloud TPU関連で、TLに流れてきたこのツイート
TPU Driver APIってなんだろ?
— nb.o (@Nextremer_nb_o) November 13, 2019
"TPU driver API and network (gRPC) transport implementation for high-performance access to TPU hardware."https://t.co/IH1TXxJoVu
気になったので、サクッと調べてみました。
ドライバもOSS化したようですね。
— 寒いので沖縄で暮らしたい (@Vengineer) November 13, 2019
やるな。https://t.co/wWDMmpSTSe
追加されたコードは、compiler/xla/python の下にあるんですよ。
TPU Driver API
This repository contains the TPU driver API and network (gRPC) transport implementation for high-performance access to TPU hardware.
Cloud TPUは、gRPCにて呼び出されるということは、ここ に載っています。
Cloud TPUのボードは、Hosts と PCIe で接続されていて、Hostsは、Google Compute Engine VM から Computational Graph を gRPC で貰ってきて、Hostsの中のTensorFlow ServerがXLA(JIT)でTPU Binaryに変換して、それをPCIe経由でCloud TPUに流し込む感じです。
今回公開されてたコードは、Google Compute Engine VM側が gRPC経由で呼び出すためのコードなんでしょうかね。
ソースコード解析職人の出番ですかね。
Twitterで以下のように聞いてみたのですが、0じゃないので、調べてみようかと思っています。
まとめて資料作るつもりなんですが、
— 寒いので沖縄で暮らしたい (@Vengineer) November 14, 2019
・TenaorFlow Lite DelegateとTensorFlow Select
・Cloud TPU DrI'ver API
・nngen (Python Neural Network Modelto Verilog HDL)
の3つのうち、
どれが一番興味ありますか?
ということで、先週の土曜日に定例の作業が終わった後に、ソースコード解析をしました。
いろいろと46頁になっています。 pic.twitter.com/WE4u288nWM
— Cloud TPU Driver APIのソースコード解析したよ (@Vengineer) November 16, 2019
この時点では、46頁でしたが、その後、いろいろと追加して50頁超えになりました。
次回の TFUG (TensorFlow User Group)に LT (5分枠) にでも発表したいと思います。