NVDLA
NVDLAというか、畳み込み演算をどのようにハードウェアで実現するかということをさらに掘り下げている。 NVDLA : Unit Description Unit Description — NVDLA Documentation NVDLAのConvolution DMAは、以下のような画像に対して入力画像とカーネルを畳み込…
前回はNVDLAを使ってCaffeのモデルを実行してみた。 ただし実行結果が分からないので何とか解析できるようにしたい。 nvdla_runtimeの実行オプションには--rawdumpオプションがあるので、これを使えば実行後の結果をダンプできるらしい。 # ./nvdla_runtime …
前回はCaffeをインストールして、LeNetを実行した結果をnvdla_compilerに食わせて、NVDLAのバイナリファイルを作成した。 これを実行するためには、NVDLA Virtual Platformを実行してLinuxを立ち上げ、そこでnvdlaを動作させるランタイムプログラムを実行し…
NVDLAの動かし方についてもう少しプログラミングモデルを解き明かしていきたいが、いかんせん内部レジスタの仕様を読み進めながらでは効率が悪くて良くない。 それに実際のニューラルネットワークを使いながらインタフェースを見ていかないと、意味が分から…
NVDLAの内部構成調査の続き。前回はNVDLAのBDMAについて調べたが、次は実際にConvolutionの操作を見ていかなければならない。 sanity3のテストパタンを見ると、大量のレジスタを設定してるのだが、それをいちいち調べていくのは大変だ。 まずは、NVDLAの基本…
RISC-VのNVDLAがコラボしたり、NVDLAの調査も再度実施しなければならないと思ってきた。 riscv.org テストパタンの中で、sanity1 / sanity2 BDMAのテストパタンだ。 BDMAはいわゆるDMAのことなのだが、ディープラーニング向けのDMAよろしく、いろんな設定が…
RISC-VのNVDLAがコラボしたり、NVDLAの調査も再度実施しなければならないと思ってきた。 riscv.org しかしNVDLAの内部構成やインテグレーションの方法など、あまり情報が整理されていない。 というわけで、NVDLAのリポジトリのテストパタンを解析して、どう…
いまさらながら、NVDLAv2のインストールを試行した。 開発環境はUbuntu 18.04LTSだ。使用したリビジョンは7cf6ad5a6e75f01aac1b0041288612e63a5999acを使用した。 github.com commit 7cf6ad5a6e75f01aac1b0041288612e63a5999ac (HEAD -> master, origin/mast…
この記事は 半導体・ハードウェア開発 Advent Calendar 2017 - Qiita の16日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 私一人では、クオリティのある記事を続けられそうにありません。。。(弱音) 目…
この記事は 半導体・ハードウェア開発 Advent Calendar 2017 - Qiita の15日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 私一人では、クオリティのある記事を続けられそうにありません。。。(弱音) 目…
この記事は 半導体・ハードウェア開発 Advent Calendar 2017 - Qiita の13日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 私一人では、クオリティのある記事を続けられそうにありません。。。(弱音) 目…
NVDLAをVivado Simulatorで実行するときは、Vivadoの波形ダンプ機能を使ってシミュレーション結果を保存することが出来る。 cd nvdla_hw/verif/sim_vivado/ make build DUMP=1 make run TEST=sanity0 sanity0/work.top.wdb に、 Vivado Simulatorの実行結果…
NVIDIAのオープンソース・ディープラーニングアクセラレータ「NVDLA」について調査したことをまとめる。 ハードウェア・ソフトウェアのイントロダクションについて NVDLA Primer NVDLA Primer — NVDLA Documentation msyksphinz.hatenablog.com msyksphinz.h…