問題タブ [intel-ipp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - IPP を使用して OpenCV の例をコンパイルする Debian: /usr/bin/ld: -llibsvml.so が見つかりません collect2: エラー: ld が 1 つの終了ステータスを返しました
環境: Debian 7.5 Wheezy。
Intel IPP (Integrated Performance Primitives) を有効にして、OpenCV ライブラリ バージョン 2.4.9 をコンパイルしてインストールしました。/opt/ipp、バージョン 8.1 SP 3 に IPP をインストールしました。
cmake の実行中に、OK な IPP ライブラリが検出され、問題なく /opt/OpenCV にコンパイルおよびインストールされます。
c の例のフォルダーに移動すると、すべての例をコンパイルするスクリプトがあります。
それでは、スクリプトを実行しましょう。
すべてのソース ファイルは、次のような出力を提供します。
build_all.sh の内容:
最初の見つからないライブラリ (/usr/bin/ld: -llibsvml.so が見つかりません) に注目しましょう。
それはシステムにあります: /composer_xe_2013_sp1.3.174/compiler/lib/mic/libsvml.so
そのフォルダーは LD_LIBRARY_PATH にあります。
LIBRARY_PATH にも:
私の知る限り、buildAll スクリプトはライブラリを見つけるために pkg-config に依存しています。注目すべきは、これらのコマンドを実行しても何も返されないことです。
コンパイル中にgccが調べている場所:
gcc が IPP ライブラリを見つけられるように、これをコンパイルするにはどうすればよいですか?
編集1
ファイル /etc/ld.so.conf.d/IntelIPP.conf を作成して、そこに LD_LIBRARY_PATH に設定された Intel IPP のパスを追加し、システムを再起動して再コンパイルしようとしました。無効。
しかし、私はこれについて推測しています。考える)。
注意すべきもう 1 つの点: 「gcc -ggdb pkg-config --cflags opencv
-o basename $i .c
$i `pkg-config --libs」は、opencvに対してのみ pkg-config を実行し、IPP はまったく指定されません。したがって、コンパイルまたはインストール中にOpenCVによってハードコードされたlibの場所である可能性があります。
これについての手がかりはありますか?
編集2
この新しいアプローチに従って、~/Downloads/openscv-2.4.9/cmake/OpenCVFindIPP.cmake に移動し、次のように変更しました。
に:
OpenCVを再コンパイルし、正常にインストールしました...運が悪い。例をコンパイルすると同じエラーが発生するようになりましたが、「lib」がありません。
編集3
別のアプローチ: /opt/OpenCV/OpenCV-2.4.9/ で「svml」を検索します。
これにより、2 つのファイルが生成されます。
/opt/OpenCV/OpenCV-2.4.9/share/OpenCV/OpenCVModules-debug.cmake:
211 行目から 220 行目までしか表示されていません。これらの行が実際に何を意味するのかはわかりません。
/opt/OpenCV/OpenCV-2.4.9/lib/pkgconfig/opencv.pc
私が知る限り、このファイルは本当に興味深いものだと思います。これは、リンクおよびコンパイル時にライブラリをロードするために pkg-config および ld によって使用されるファイルです。
これに注意してください:
ライブラリ: (...) ${exec_prefix}/lib/libopencv_viz.so -llibsvml.so -llibimf.so -llibirc.so -llibippcore.a -llibipps.a -llibippi.a -llibippcv.a -llibippcc.a - llibippvm.a -ltbb /usr/lib/x86_64-linux-gnu/libXext.so (..)
何をすべきかまだわかりません... -l[xxx] は LD_LIBRARY_PATH から xxx をロードするはずなので、これでうまくいくはずです... 何かアイデアはありますか?
c++ - ippiOpticalFlowPyrLK_16u_C1R を呼び出すにはどうすればよいですか?
私が使用イメージに基づいて作業している例。unsigned char
16 ビットの署名されていないイメージがあります。IPP 関数名で単純な置換をu8 -> u16
行っても機能しません (一部の型キャストでコンパイラ エラーが発生します)。
16 ビット (署名なし) イメージの同様の使用例はありますか?
基本的にはIppiPyramid
、8 ビット イメージへのポインタを保持しているように見えますが、16 ビット バージョンが定義されているため意味がありません。
c - Intel IPP を使用して BGR (24 ビット) イメージをミラーリングする
次のコードを使用して、生の (画像ヘッダーなしの) BGR 画像を 1 ピクセルあたり 8 ビットでミラーリングしようとしています。
画像サイズは640×360です。ピッチ_s = ピッチ_d = 幅 = 640.何が問題でしょうか?
opencv - OpenCV 3.0 を使用した行列反転に IPP を使用する
ここでは、Intel による IPP を使用するための OpenCV 3.0 と現在の「透過的な API」について説明します。
それはこの絵を示しています:
私の質問は、それが行列反転に影響するかどうか知っている人はいますか? Mat::inv メソッドを高速化しますか?
visual-studio-2010 - VS 2010 から VS 2013 への切り替え時の IPP パフォーマンスの向上?
VS2013 に切り替えるとパフォーマンスが向上します。
2300ms かかっていた14kx7k画像の7x7 畳み込みは、 VS2013では690msかかるようになりました。
いいのですが、その理由が知りたいです。
Web を検索したところ、VS2010 オプティマイザーは SSE2 のみをターゲットにしていることがわかりました。この最適化の他の理由はありますか?
c++ - 非推奨のインテル® IPP API の代替 API を見つける方法は?
Intel Integrated Performance Primitives (Intel IPP 8.2)を使用しています。ユーティリティ関数からコピーAPIの 1 つを使用しようとしています。リファレンス マニュアルには「DEPRECATED」と記載されていますが、代替 API は提供されていません。
一般的に非推奨の API の代替手段を見つける方法を誰か指摘してもらえますか?
benchmarking - IPP 6、7、8 の性能比較
私は IPP 6 を所有していますが、IPP 8 が既に利用可能であることを確認しました。最新の CPU で IPP 6、7、および 8 を比較するためのベンチマークはありますか? 特に 1D 基本演算 (mul、add、complex)、FFT および IIR フィルタリングの場合。