1

TBB のパフォーマンスに関する Opencv 回答グループに質問を投稿しました。これはリンクです。

このリンクの答えは以下のように述べています。

おそらく、TBB の有無にかかわらず 2.4.5 ライブラリを使用して比較しましたが、OpenCV 2.4.3 マルチスレッド サポート機能がソース コードに含まれているため、TBB サポートを使用して openCV をビルドする必要はもうありません。これは必要に応じて自動的に実行され、含まれる dll は必要に応じてソースに含まれます。

しかし、Hog記述子でパフォーマンスの変化に直面しました。つまり、サンプルから peopledetect.cpp を使用し、opencv2.4.5 で TBB を使用する場合と TBB を使用しない場合の両方でコンパイルしました。TBB を使用してコンパイルされた Opencv2.4.5 は 2 倍の速度を実行することがわかりますが、TBB を使用しない Opencv2.4.5 は非常に低速です。

信頼できる情報源が見つからなかったので、以下の点を確認してください。

1)opencv2.4.3から、TBBをオンにしてopencvを再構築する必要はありませんか?

4

1 に答える 1

3

ビルド前のバイナリは、2.4.3 以降、Visual Studio コンカレンシー フレームワークでコンパイルされています。ただし、すべてのアルゴリズムが「新しい」並列インターフェイスを使用しているわけではなく、同時実行から IPP、TBB に切り替えることができます。以前は、TBB を使用するか、何も使用しないかがハードコードされていました。問題は、すべてのアルゴリズムが新しい並列方式に変換されているわけではないため、TBB を使用していくつかの方法で高速化できることです。(IIRC の一例は BruteForceMatcher で、ビルド前のライブラリで 1 つのコアのみを使用します)

于 2013-05-31T10:09:47.983 に答える