2014年のまとめ
今年コンピュータ関連でやったことの一部を振り返ってみた。
- Zynqまわり
- VivadoでAXI Master/Slave IP作成
- Vivado HLSの実戦投入
- これは一度使ってしまうと、手RTLでパイプラインを作成するのが億劫になってしまうという効果があった。ただし、データパスの生成はあまり賢くない(というか思い通りになかなか生成されない)ので、hls::streamでモジュールを分離して合成するなどした方が良さそうに思われた。
- Yocto Linux
- これまた便利極まりない。一々コマンドを入力してLinuxの環境を作るとなると、どうしても手順書をしっかり残さないと再現性が無くなってしまうが、Yoctoではレシピの形で手順が残っているので、再現性が基本的に高い。
- IPからDMAするためのドライバ作成
- dma_alloc_coherentではなく、kmallocとか__get_free_pagesで確保するようにした。これをuser spaceにmmapできるようにもした。少なくとも4MBまでは確保できることを確認した。また、DMAするためには、確保したバッファに対して、dma_map_single, dma_unmap_singleなどを呼び出せばOK。
- Linuxの動くSoCをZynq以外で二つほど使ってみた
- libsvmで画像認識の実験
- あまり精度が出ないように感じた。このあたりのチューニングはあまり突っ込まなかった。
- DNでは、特徴量の抽出も自動的に行えるというのがウリとよく言われるが、適応領域によって適切なネットワーク構造が変わってくるとしたら、結局そのあたりのチューニングが必要なのでは? このあたりは要調査。
全体としてはZynqをいろいろいじってみた、という印象か。 最近勉強する気力が衰えていると感じる。どちらかというと実践よりの 新しい知識は少しだけ増えた気がする。