Vengineerの戯言

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

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

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

一昨日と昨日のGraphcoreのPoplarの例題を深堀してみる。では、下記の用に、デバイス

auto manager = DeviceManager::createDeviceManager();
auto devices = manager.getDevices(poplar::TargetType::IPU, numIpus);

や、

auto options = utils::parseOptions(argc, argv);
auto device = utils::getDeviceFromOptions(options);

のように、デバイスを獲得するAPIが用意されている。この例題では、Graphcoreのハードウェアである IPU を設定しているが、

advanced_exampleのREADME.md には、

  • Choosing between IPU HW and IPU Model for execution

とあります。IPU Model、つまり、CPUによるエミュレーションもサポートしているんですね。実際のチップが出来上がるまでは、このモデルを使っていたんでしょうね。