Vengineerの戯言

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

MediaPipeでアプリケーション開発

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった 

GoogleのMediaPipeは、結構気になったいるプロジェクト

github.com

これと基本的には同じことを10年以上前からやりたくて一時期いろいろとやっていました。

Saliency-Aware Video Cropping using AutoFlipのあるMediaPipe Graphを見ると何をやっているのかがよくわかります。

github.com

他にもいろいろなアプリケーションがあるので、みなさんも見てみてくださいね。

github.com

Xnor.ai が Apple に買収されちゃったようだ。

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった 

先週の金曜日の朝にTwitterのTLに流れてきたのが、Appleが Xnor.aiを買収したと

www.geekwire.com

 

Home | Xnor.ai にアクセスしたら、何も情報がありません。

ブログはこのサイトではないので残っているようです。

 

このブログで最初に Xnor.ai を取り上げたのが、2019年2月21日。

vengineer.hatenablog.com

それから、

vengineer.hatenablog.com

と、これ。ただし、https://ai2go.xnor.ai/home/ も無くなっています。

vengineer.hatenablog.com

 

Bluespec が BSV High-level HDLツールをオープンソース化するとか!

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった 

bluespec.com

これをTwitterのTLに流れてきたとき、ちょっとビックリした。

あのBluespecが自社のツールをオープンソース化にすると。

このブログでは、一時期、Bluespec関連をアップしていました。

vengineer.hatenablog.com

 

Bluespecは、2015年頃からツール屋というより、ツールを使って開発したRISC-Vコアの開発にシフトしたようで、今では完全にRISC-Vコア IP屋さんになっています。

bluespec.com

公開は、2010.1.31 ということなので、楽しみにしてまっています。日本時間では2月1日(土曜日)なので、いつもの定常作業として確認ができそうです。

 

2020年のAIチップ?Facebookからも出てくるって?

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった 

 この記事を読んで気になったので、記録のために。

www.eetimes.com

記事の中に、

Facebook will launch its own AI chip

It was widely noted back in spring 2018 that Facebook advertised for chip designers, and widely speculated that the company was working on its own AI accelerator. By my estimation, we should expect to see the results of that project in the second half of 2020.

 とあります。

このブログでもそのことを同じ時期に取り上げています。これです。

vengineer.hatenablog.com

募集要項はいづれ消されちゃうと思っていたので、引用しておいたのが、

Build and manage an end-to-end SoC/ASIC, firmware and driver development organization,
including all aspects of front-end and back-end standard cell ASIC development
(including silicon architecture, micro-architecture, RTL development, Verification,
FPGA emulation, co-simulation, simulation acceleration, synthesis, DFT,
floor planning, physical design place and route,
DRC, LVS and GDS II stream out, and post-silicon validation

Micro-architecture definition, trade off analysis for PPA

 とありました。

あたし的には、AR/VR用のSoC 開発だと思っているので、クラウド用AIチップは開発していないと思います。

それから、Glowでエコシステムを作っているので、そこにFacebook製AIチップあったら、いろいろと面倒なことが起きそうだし、

vengineer.hatenablog.com

そして、これ。

vengineer.hatenablog.com

Facebookは自分のところで開発するのではなく、パートナーと協力して開発して、インフラとして使うだけなのだと思っています。

Keras で TPU を利用する

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった 

昨日のGoogle TPU v2/v3の詳細に引き続き、今日も TPU のお話。

 これ。

   TPU-speed data pipelines: tf.data.Dataset and TFRecords

とありますが、③の「3. [INFO] What are Tensor Processing Units (TPUs) ?」にもMXUだけじゃなくて、VPUが出てきますよ。

codelabs.developers.google.com

ボード上には、4個のTPUが載っていて、各TPUには4つのICIがあって、ボードからは4つのICIが出ているようなので、各TPUは2個のICIで接続していることになるのかな?

 

最後のページには、TPUに関するリファレンスも出てきますね。

codelabs.developers.google.com

こちらも。こっちの方が先かも?

codelabs.developers.google.com

Google TPU v2/v3 の詳細が出てきた?

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった 

TwitterのTLに流れてきたこの記事。その時はそれほど気にしていなかったのですが、記事の最初を読んでみて、え、そんな発表があったの?知らなかったです。

公開されているビデオは、

「 Allen School Distinguished Lecture: David Patterson (UC Berkeley/Google)」

で、2019年11月6日に公開されています。

www.youtube.com

講演ビデオは、1時間12分なのですが、上記の記事にまとまっているので、こちらを最初に見て、詳しく知りたいときはビデオを見ればいいのでは?

 

それにしても、Patterson先生がこのようは発表をするのって、本当にすごいなーと。

Google TPUの説明のページにある図(下記は、URLにて組み込み参照しています)には、HBMは2組になっていますが、

https://cloud.google.com/tpu/docs/images/tpu--sys-arch4.png?hl=ja

 講演のこのページ(20分50秒)頃では、(下図は、記事のURLを組み込み参照しています)、HBMは2組ではなく、4組の模様。

https://kiszk.github.io/images/post/2019-12-31/tpuv2floorplan.png

 この図をベースに、ブロック間の接続を妄想してみました。

f:id:Vengineer:20200118121821j:plain

VPUは4個に見えますが、RAMの容量が半分なので、2個を分割しているみたい。このスライド(図は上記の記事のURLを参照しています)

https://kiszk.github.io/images/post/2019-12-31/tpuv2isa.png

このスライドに、

2 slots that queue data to/from Matrix Multiply Unit and Transpose Reduction Permute units とあるので、Transpose Reduction Permute UnitはMXUと同じ数だと。。

命令は、322ビットのVLIW命令で、64K個の専用メモリがあるようですね。基本的には32ビットでスカラーレジスタが32個、メモリが4K個、ベクターレジスタ(32bit x 8 = 128bit)が32個、メモリが32K個。。。ベクターのロードとストアは1個づつ。

 

Google TPU v3では、

TPUv3は、TPUv2と同じテクノロジを使っています。違いは、

クロックレート、ICIバンド幅、 HBMバンド幅、1.35倍に増加
1チップで、コアあたりのMXUを1から2に増加
ダイの大きさは6%しか増えていない
結果、消費電力1.6倍になったので、液冷を使用
HBMのメモリ容量を2倍にして、コアあたり16GiBに
システム全体では、256から1024チップに増加

 ということなので、こちらも妄想した。

f:id:Vengineer:20200118121901j:plain

 

ボード上のチップ間の接続は、2Dトーラスということなので、こんな感じかな?

f:id:Vengineer:20200118123335j:plain

ボード上のチップ間接続


 

 

Intel Vtune Profilerが無償で使えるようになっていた。

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった 

このツイートで知った、Intel Vtune Profilerが無償で使えると

 このツイートのURLをクリックすると、次のサイトになる。

software.intel.com

ダウンロードできるのは、「Only Intel VTune Profiler」つまり、単体のみ。

単体ダウンロードは無償だけど、

Download a free copy backed by community forum support.

ということですが、だいたい、サポート受けるようなことはそんなにないですよね。

 

ダウンロードページにアクセスすると、Intel VTune Amplifier とあるので有料版と同じようですね。ダウンロードには、「Full Company Name」が必須なので個人での利用がどうなるのかがよくわかりませんが。。。

 

Linuxでは、gprof があるのでいいんですが、Windowsでは Profilerは この Vtune しかないんですが、Vtuneが無いと Profile が取れなくて、どこがボトルネックになっているかが全く分からないのですよ。なので、無償で使えるのはとってもいいんじゃないかと思います。

 上のツイートのスレッドには、「AMD uProf」もあるよ、ということで、

https://developer.amd.com/amd-uprof/

からダウンロードできるようですよ。

ただし、AMD製品のみサポートしているみたい。

AMD CPU & APU Processors
Discrete GPUs: Graphics IP 7 GPUs, AMD Radeon 500 Series, FirePro models (Power Profiling Only)