今日はZYBO上でcvAdd()のソフトウェアでの処理時間を計測した。
イメージデータは1280×720のRGB24での計測だ。
H/Wアクセラレータは単純にDMA+処理時間+DMAの時間で予測できるので、これを超える速さだったらH/Wアクセにする必要はなく、OpenCV用にZynqを2発積んだシステムでも作れば良い。
H/Wアクセの予測時間は100MHzだとすると単純計算で(1280×720×10ns)×3=27,648,000nsとなる。
これはDMAパイプラインを考慮しない時間なので、実際は半分くらいにだろう。
まず、ソフトウェアでの実測結果は約35.5msだった。
ZYBOは650MHzの動作周波数でこれくらいの性能ということ。
これだと、H/Wアクセを100MHzで動作させればソフトウェア処理の半分くらいの時間で収まりそうなのでH/Wアクセは作成をGOとしよう。
さて、次はimageDataをallocする部分を割り出しておこう。
modules/core/src/array.cppの中にimageDataの割り当てがある。
まず、ここを本当に通過しているか確認する。
あいからず、ZYBOでネイティブ・コンパイルしてるので時間だけはかかるんだけど・・・
CMA対応ドライバの組み込みは大したこと無いので、来週辺りに実装しよう。