OpenCV2.4.13のインテルコンパイラ・ビルドでの高速化の可能性 | 入門者フォーラム | フォーラム

iSUS に投稿されている記事の内容や、IA プラットフォーム上でのソフトウェア開発に関するトピックを開発者同士でディスカッションできる場としてフォーラムを公開しています。

運営ルールはフォーラムの利用案内をご覧ください。
フォーラムの使い方はこちら

 
フォーラムに投稿するにはログインが必要ですログイン

OpenCV2.4.13のインテルコンパイラ・ビルドでの高速化の可能性

メンバー投稿

2:39 PM
2016年10月31日


yoshihingis

投稿数 54

1

 Windwos7 64bit上で、OpenCV2.4.13を使用したアプリを作成しました。Cmakeでslnファイルを作成した後、Visual Studio2013 のMSコンパイラでビルドしましたが、実行速度が物足りません。

 もしOpenCV2.4.13をインテルコンパイラで、ビルドしてアプリに組み込めば、高速化は期待できるでしょうか?もちろん、すべての関数が、高速化可能とは思っていませんが、アプリ内に含まてているフィルタ各種が高速化は期待できるのではないかと思っています。

 OpenCVをインテルコンパイラでビルドして使用するより、もし適合する関数があるなら、Ippを使用してアプリに組み込んだ方が、高速化の効果が期待できるでしょうか?

 もし前例など有りましたら、教えていただけると助かります。

12:08 PM
2016年11月1日


iSUS編集部 – 菅原

投稿数 206

2

yoshihingis 様

コードのどの部分がボトルネックとなっているか不明ですが、OpenCV コンポーネント内がボトルネックであれば、インテルコンパイラーで OpenCV をビルドし直す前に、IPP を利用されてみることをお勧めします。こちらを参照ください:

https://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-open-source-computer-vision-library-opencv-faq

cv:parallel_for による並列化などは使用されているのでしょうか?

すがわら

10:42 AM
2016年11月4日


yoshihingis

投稿数 54

3

菅原様

 お返事ありがとうございました。情報足らずで申し訳ありませんでした。
 プロファイルを見る限り、OpenCVコンポーネントが明らかにボトルネックになっています。
 現在 cv:parallel_for による並列化は行っていません。
 並列化ももちろん手段と考えていますが、とりあえず1coreのコード最適化でどこまでコードが高速化できるか検討しようとして、OpenCVをインテルコンパイラでのビルドを考えました。

 まずはIppに現在、使用しているOpenCVの関数に適合するものがあるか、調べてみたいと思います。