Vengineerの妄想(準備期間)

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

graphcore の検索結果:

GraphcoreのPOPLIBS/POPARTをオープンソース化しちゃいました

…から始まった 先週、Graphcoreは POPLAR GRAPH LIBRARIES (POPLIBS) をオープンソース化しました。 今回公開されたのは、 POPLIBS POPART POPRITHMS これによって、POPLAR SDK以下の層のソフトウェア以外はすべてオープンソースになりました。なんで、オープンソースにするのだろうか?と思いましたが、コア部分であるPOPLAR SDK以外は公開して、ユーザーの皆さんにいろいろと直してもらいたいというところでしょう。こ…

SambaNova Systems の講演ビデオとスライド

…っている。これって、Graphcoreの1UベースのRackScalue IPU-Podと同じですよね。 そうなると、1台の中に、RDUx2だけじゃなくて、Arm系のSoCも載っているのかしら。。。Chipのところに、「Direct interfaces to TBs off chip」とあり、TBが何の略かが気になる。。。ビデオを再度見たら、言ってました。。。TeraBytes Memory と。ということはチップにはTeraByte Memory用インターフェースが載って…

Graphcore RackScale IPU-POD

…ら始まった www.graphcore.ai このブログ、2年前のものなんですが、DELLのサーバーに C2 IPU PCIe Boardを8枚さしたものを提供する前は、この IPU-POD が Graphcore の商品だったんですよね。 で、この写真(URLを組み込んでいます)。右側の上下の2個は、DRAMスロットが2個付いているので何らかのSoCですね。真ん中と左側の2個が、C2 IPUで右側のSoCから2つのC2 IPUと PCIe Gen3 x8 で接続しているんだ…

SPARSE Training

…後のセッションでの Graphcore に出てきました。 「Why SPARSE Training」 youtu.be Graphcore C2 IPUの場合は、各コアが同じ命令を実行するのじゃないので、Pruningして計算する量を減らせば減らすほど処理時間が短くできそうです。学習しながらPruningすればどんどん計算量を減らせます。といってもある程度でPruningは終わるでしょうが。。。 ということで、Graphcore の C2 IPS は、NVIDIAのA100の…

Graphcore と PaddlePaddle

…9公開から始まった GraphcoreがBaidu PaddlePaddle Hardware Ecosystem に参加 www.graphcore.ai TensorFlow、PyTorch (実際には、ONNX)、ONNX対応に追加して、 Graphcoreが PaddlePaddle をサポート。。。 github.com PaddlePaddleでは、CPUとGPU(CUDA)のサポートをしているみたいですが、 TensorFlowの場合はXLAにてサポートしたみた…

Graphcore C2 IPU って、PCIe Gen3 x8 なの?

…ら始まった 先週末、Graphcoreのことを調べて、この画像を眺めていたら、ちょっと気になった。 www.servethehome.com PCIe Edge からの配線が2つの C2 IPU に流れているって。。。 Dissecting the Graphcore IPU Architecture via Microbenchmarking の Table 4.20 によると、各チップへはやっぱり 8 lanes とある。 となると、DELL DSS8440 GRAPHC…

Graphcore : Poplar Tutorial (その3)

@Vengineerの戯言 : Twitter SystemVerilogの世界へようこそ、すべては、SystemC v0.9公開から始まった tutorials/poplar/tut5_ml/regression-demo.cpp では、MNISTモデルを Poplar で実装し、IPUで実行するためのコードです。 Popops/Poplin/Popnnの各種 Codelets を graph に追加しています。 Graph graph(dev.getTarget()); …

Graphcore : Poplar Tutorial (その2)

…ithub.com/graphcore/examples/blob/master/tutorials/poplar/tut3_vertices/complete/tut3_complete.cpp では、Vertex を生成し、何らかのOpを実行する例題です。 graph.addComputeSetにて、ComputeSet を生成し、そのComputeSetに Op を割りあてた Vertex を追加しています。Vertexの入力は、v1.slice(i,4) を4つ、出力…

Graphcore : Poplar Tutorial (その1)

@Vengineerの戯言 : Twitter SystemVerilogの世界へようこそ、すべては、SystemC v0.9公開から始まった github.com チュートリアルは、次の7つ。 * Tutorial 1: programs and variables* Tutorial 2: using Poplibs* Tutorial 3: writing vertex code* Tutorial 4: profiling output* Tutorial 5: a …

Groqの推論性能

…このツイートの図。 Graphcore C2 IPU seems the last in the chip for inference race, as presented by Groq. pic.twitter.com/OEEqi1YBFl — Jack Harvard (@jack_harvard) 2020年4月18日 Groqの推論性能がバッチサイズ1でめちゃくちゃいいのはいいんですが、 Graphcoreの推論性能がめちゃくちゃ悪いのが気になります。 で、調べてみ…

Graphcoreの例題が更新された(9th April 2020)

@Vengineerの戯言 : Twitter SystemVerilogの世界へようこそ、すべては、SystemC v0.9公開から始まった github.com Update (9th April 2020) * BERT update * RESNeXT Update * Various New examples * Improved test coverage * Other miscellaneous fixesここのページに、 Bert Tools Multi-C…

複数Google Edge TPUで Pipeline実行できるようになった。

…e TPU の実行毎に、thread を割り当てている感じですね。 複数のEdge TPUで1つのモデルを実行するだけでなく、Pipeline で実行することでスループットを上げられるということですね。 これって、「 Graphcore の3つのケースの MODEL PIPELING 」と同じですよね。 vengineer.hatenablog.com Graphcore の場合は、チップ間も直接接続しているけど、Edge TPU の場合はホストメモリ経由になってしまいます。

Graphcoreのドキュメントが公開されたよ

…9公開から始まった Graphcoreが以下のドキュメントを公開したよ。 The @graphcoreai IPU is a highly parallel processor, specifically designed for machine learning and AI applications. Learn more about its unique architecture in the IPU Programmer's Guide https://t.co/I9…

Mesh TensorFlow の中身を覗いてみた

…って、Groq や Graphcore の Inference のアプローチと同じじゃん。。。 デバイスの設定って、こんな感じに。4つのデバイスを devices = ["gpu:0", "gpu:1", "gpu:2", "gpu:3"]mesh_shape = [("all_processors", 4)]layout_rules = [("batch", "all_processors")]mesh_impl = mtf.placement_mesh_impl.Plac…

Mesh TensorFlow って?

…んが教えてくれた。 Graphcoreのドキュメントを眺めていますが、Data Parallelだけでなく、Model Parallelができるのはある意味新しいアクセラレータ。。Google TPUもModel Parallelを試みているけど、まだ公式にはサポートはしていないのだろうか?と思って調べてみたら、Mesh TensorFlow ではサポートされているっぽい — Vengineer@アマゾンプライムで映画三昧 (@Vengineer) 2020年3月27日 この…

DellEMC DSS8440 GRAPHCORE IPU SERVER White Paper

…9公開から始まった Graphcore のこのツイートで知った DellEMC DSS8440 GRAPHCORE IPU SERVER Read the first ever @graphcoreai IPU White Paper to learn about #IPU architecture, massively parallel processing and how to accelerate #MachineIntelligence workloads using…

GraphcoreのBenchmark (ResNeXt101)

…習慣がありまっす。 Graphcoreの新しいブログ www.graphcore.ai では、ResNeXt101の推論のベンチマークを行っています。 ベンチマークは、Microsoft Azure cloud で利用可能な、C2 card 1枚 (2 IPUプロセッサ)。 実際には、6枚のCardを使った模様。何故?8枚じゃなかったのだろうか? レポートは、こちら。 モデルは、PyTorchで学習したものを ONNX に export して、その ONNX モデルを Pop…

GraphcoreとSambaNovaが追加資金調達

…9公開から始まった Graphcoreは皆さん知っていますよね。 SambaNova Systemsはどうですか? あたしは、次に来るのは、SambaNovaだと思っています。 Graphcoreが追加資金(R&Dと顧客開拓のため)に、1憶5000万ドルを調達。 累計、4億5000万ドルに。 jp.techcrunch.com 最近、GraphcoreのTwitterにいろいろ流れてきますね。 また、SambaNovaが2億5000万ドルを調達。 こちらは、4億5600万ドル…

GraphcoreのPoplarの例題を深堀してみる。(その4)

@Vengineerの戯言 : Twitter SystemVerilogの世界へようこそ、すべては、SystemC v0.9公開から始まった あと一つ、Poplarの例題があった。 examples/code_examples/tensorflow/custom_op この例題は、TensorFlowのコードの中で、PoplarのCustom Opをどのようにして使うかというもの。 Custom Opのコードは、これ で、2つのTensorの各要素を加算するもの。 Popl…

GraphcoreのPoplarの例題を深堀してみる。(その3)

…った 一昨日と昨日のGraphcoreのPoplarの例題を深堀してみる。では、下記の用に、デバイス auto manager = DeviceManager::createDeviceManager(); auto devices = manager.getDevices(poplar::TargetType::IPU, numIpus); や、 auto options = utils::parseOptions(argc, argv); auto device = ut…

GraphcoreのPoplarの例題を深堀してみる。(その2)

…9公開から始まった Graphcoreのgithubにアップされている例題をちょっと深堀してみます。(その2) Advanced Poplar Example この例題では、複数のTileにマッピングするもの。 // Create some tensor variables. In this case they are just vectors: Tensor v1 = g.addVariable(FLOAT, {4}, "a"); Tensor v2 = g.addVari…

GraphcoreのPoplarの例題を深堀してみる。(その1)

…9公開から始まった Graphcoreのgithubにアップされている例題をちょっと深堀してみます。 vengineer.hatenablog.com 今回は、下記のGopARTではなく、Poplarの例題 vengineer.hatenablog.com Poplar prefetching callbacks Copy from input stream to tensor.Modify tensor valueCopy tensor to output stream. …

Graphcoreのgithubが更新された

…lar APIにて、Graphcore内のTileにマッピングするにはどうしているかも多少分かります。Custom Opを読み込んでいるが、このCuston Opについては、Creating a simple Tensorflow Custom Op にあるね。 Popart pipeline の例題には解説が付いていませんが、ソースコード (pipeline.py) を見ると、 # ------------ Model Definition ----------------…

TensorFlow LondonのGraphcoreプレゼンビデオ

…9公開から始まった GraphcoreのこのツイートからTensorFlow LondonでのGraphcoreのビデオが公開されたことを知りました。 Another chance to listen to @graphcoreai's Dave Lacey talk about IPUs, #TensorFlow and how to use both for #ML innovation! @ThinkRiseLDN @seldon_io Watch the full r…

Graphcoreを1週間使うと、4000ドル

…9公開から始まった Graphcore、Azureで使えるようになるようですが、既にクラウドサービスをやっているところがあります。Cirrascal Cloud Servicesにて。 cirrascale.com でお値段ですが、時間貸しは1か月15999ドル、1週間4000ドル、 1時間21.92ドル相当。Graphcoreは、PCIeボードが1枚(チップは2個) Graphcore IPU CloudStarting at$15,999 /month—or— $4,00…

Cloud Deep Learning Chipsのおまとめスライド

…un (HBM2) Graphcore:GC2 (SRAM) Cerebras:CS-1 (SRAM) Inference Google:TPU v1 (SRAM) Intel Nervana:NNP-I (DRAM) Habana Labs:Goya (DRAM) <= Intel が買収 Groq (SRAM) Alibaba:Hanguang(含光) 800 (SRAM) だけあるんですよね。 でも、推論用チップで外販しているのは、Intel NNP-I、GoyaとGr…

今年(2019年)を振り返って

…と楽しめそうだ。 ・Graphcoreの実態(実物や性能)が分かってきた ・Intel GPUのアナウンス ・Jetson Nano、Google Edge TPU、Raspberry Pi 4とかなり盛り上がり、からあげさんとも逢えた。 特に、Google Edge TPUは2か月毎に機能強化および新しいモデルが出て強烈 ・Intelが oneAPI (SYCL) で、勝負をかけてきた ・MicrosoftのONNXRuntimeのProvidersが10種類になり、かなり…

Intel NNP-Tのサーバー

…います。 これって、GraphcoreのPCIeボードを8台搭載したDellサーバーと同じようなもの? 違いは、Graphcoreの場合は、PCIeボード間をコネクタで繋いている。 これに対して、Intel Nervana NNP-Tでは、 下図(画像をURLで引用します)The system Supermicro had on display at Supercomputing featured eight OAM cards connected in a hybrid c…

GraphcoreのBertのコード

…9公開から始まった Graphcoreのサンプルコードには、ResNetもありますが、もっと大きな Bert github.com 以下の2種類のBertモデルにて、学習 BERT Base – 12 layers (transformer blocks), 110 million parameters BERT Large – 24 layers (transformer blocks), 340 million parameters Graphcoreでは、 BERT L…

実は、巨大なカスタムFPGAだった、Cerebres SystemsのWSE

…います。 それなりの複雑な処理をするプロセッサみたいなものであれば、配置配線は必要ありませんが、単純なALUみたいなものが大量にあるときには、配置配線が必要であり、配置配線が性能に影響を与えるのです。 おまけ。 下記の Graphcore のブログで紹介した、3つのケースの内、MODEL SHARDING では複数チップにモデルを分割するので、これもある配置という点では関係がありそう。分割の仕方次第では性能に影響を与えるので。 vengineer.hatenablog.com