問題タブ [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.
image-processing - for ループに相当する intel ipp 関数
私は画像処理が初めてで、Intel IPP で何かをしようとしています。行列を FOR LOOP として順次スキャンする ipp 関数が必要ですが、FOR よりも高速です。
ありがとうございました。
c++ - IntelIPPコンボリューションは非推奨になりました-別のIPP2Dコンボリューション方法はありますか?
私は IntelIntegratedPerformance Primitives(IPP)を試していますが、IPPで2D畳み込みを行う「正しい方法」に興味があります。
Intel IPPのドキュメントによると、ippiConvFull
(ドキュメント)とippiConvValid
(ドキュメント)は非推奨です。ただし、IPPには他の2D畳み込みルーチンはありません。
いくつか検索しましたが、2D画像の畳み込みに代わるIPP関数は見つかりませんでした。
- IPPに代わるものはあり
ippiConvFull
ますか?ippiConvValid
- それとも、IntelはIPPからたたみ込みを削除しているだけですか?
hyperthreading - IntelIPPライブラリの要件
そのため、ライブラリ(文字列照合)に付属するIntel IPPサンプルアプリケーションをコンパイルしようとしていますが、IPP命令を利用できないようです。マシンのコアの1つを無効にしても、計算時間は同じままです。私のマシンがIPPのすべての要件を満たしているかどうか、および/またはこの状況が存在する理由を知りたいです。
環境は次のとおりです。
- Windows 7
- IPP 7.0
- Intel Core i3(それぞれ2つのスレッドを持つ2つのコア)
- msconfigオプションを使用してコアを無効にします([ブート]タブ> [詳細オプション...])
ご覧のとおり、論理プロセッサの数はプロセッサの数よりも多いため、私のマシンではハイパースレッディングがサポート/有効になっていると想定しています。
multithreading - インテル® IPP と TBB の組み合わせ
IPP と TBB を組み合わせて、画像サイズ変更アルゴリズムをさらに改善しようとしています。このタスクを達成するには、次の 2 つの方法があります。
- TBB なしで IPP を使用する
- parallel_for ループ内で TBB を使用して IPP を使用する
私の質問は、アプリケーションをコーディングしたことであり、正しい結果が得られます。しかし驚くべきことに、それらを組み合わせると私の計算時間は長くなります。混乱を避けるために、コードの一部のみをここに貼り付けます。ただし、必要に応じてコード全体を提供できます。IPP のみを使用する最初のケースでは、コードは次のようになります。
そして、parallel_for ループは次のようになります。
src
とdst
は、ソース イメージと宛先イメージへのポインターです。TBB を使用すると、イメージがパーツに分割されCHUNKS
、parallel_for がすべてをループしCHUNKS
、IPP 関数を使用して各 CHUNK を個別にサイズ変更します。dstHeight
、srcHeight
、srcRoi
、およびの値はdstRoi
、イメージの分割に対応するように変更され、ソース イメージsrc+((int)(i*srcWidth*srcHeight))
とdst+((int)(i*dstWidth*dstHeight))
宛先イメージの各パーティションの先頭を指します。
どうやら、IPP と TBB はこのように組み合わせることができます (正しい結果が得られるため)。ただし、IPP を単独で使用した場合と比較して、それらを組み合わせた場合に計算時間が悪化することは私を困惑させます。何が原因であるか、またはこの問題をどのように解決できるかについて何か考えはありますか?
ありがとう!
signal-processing - Intel IPP fir と畳み込み関数の出力の違い
Intel IPP 7.1 (composer XE 2013) を使用していますが、IPP 'fir' 呼び出しと 'convolution' 呼び出しの出力サンプルの末尾に違いがあることに気付きました。したがって、以下の呼び出しで
M=7、N=11、および pDlyLine がすべてゼロに初期化され、他のすべては同じです。
pDst_f と p_Dst は、最後の 3 つのインデックスが異なります。つまり、pDst_f[k]!=pDst[k] for k=14,15,16
私は、それらが fir 呼び出しの 3 番目のパラメーター (反復回数)=N+M-1 と正確に等しいと予想していました。何か案は?
tiff - Intel IPPを使用してTIFFイメージをロードする方法はありますか?
私はWindows732/64ビットでVS2008を使用しています。
IPPを使用してtiff画像を処理しようとしています。いくつか検索しましたが、IntelIPPがtiffイメージをロードする可能性は見つかりませんでした。そこで、libtiffを使用してtiff画像をロードします。ただし、問題は、画像のデータ型がTIFFRGBAImageなどのlibtiffに関連していることです。これらの形式は、IntelIPPには受け入れられないようです。
では、Intel IPPでtiff画像を処理するにはどうすればよいですか?または、Intel IPPにTIFFRGBAImageのようなデータタイプを受け入れさせる方法はありますか?どうもありがとう。
c - Intel IPP で OpenCV Mat イメージを使用していますか?
最近、画像処理にIntel Performance Primitives (IPP)を使い始めました。IPP について聞いたことがない人は、IPPを線形代数ではなく、画像処理のMKLに類似したものと考えてください。
私はすでに OpenCV でやや複雑なビジョン システムを実装しており、OpenCV ルーチンの一部 (畳み込みや FFT など) をより高速な IPP ルーチンに交換したいと考えています。私の OpenCV コードは常にcv::Mat
画像データ構造を使用します。ただし、IPP コード サンプルに基づくと、IPP はCIppiImage
データ構造を好むようです。
私のシステムは、OpenCV でいくつかの画像変換を行います。次に、IPP でいくつかのことを行い、OpenCV でさらに作業を行いたいと考えています。OpenCV と IPP をうまく連携させる簡単な方法を次に示します。
ただし、これは面倒な作業であり、ファイルの読み取り/書き込みにより、全体の実行時間が長くなる可能性があります。
画像処理プログラムで OpenCV と IPP をよりシームレスに切り替えられるようにしようとしています。問題を解決できるいくつかのことを次に示します。
cv::Mat
aを にCIppiImage
、またはその逆に変換するワンライナーはありますか?- 実装の詳細にはかなり精通してい
cv::Mat
ますが、 についてはあまり知りませんCIppiImage
。同じデータレイアウトcv::Mat
を持っていますか?CIppiImage
もしそうなら、私は次のキャストに似た何かをすることができますか?CIppiImage cimg = (CIppiImage)(&myMat.data[0])
?
c++ - Intel C++ コンパイラを使用して C++ で MATLAB 関数を実装する
Visual C++ で MATLAB プログラムを開発しました。プログラムの速度が重要な問題であり、いくつかの MATLAB 関数を実装するために多くの努力をしたため、インテル® インテグレーテッド・パフォーマンス・プリミティブを使用しています。たとえば、ベクトルに対する Min 関数と Max 関数の場合ippsMaxIndx_32f
、 ;を使用します。ただし、 MATLAB にはFindのような関数があります。以下は、MATLAB のFindメソッドの説明です。
説明 この MATLAB の検索機能を高速に実装する関数が必要です。
Intel Ipp内に、MATLABのFind関数のように機能する関数はありますか?
opencv - 画像処理におけるアンカーポイント
IntelIPPまたはOpenCVでフィルター機能を使用したい。アンカーポイントの位置については議論がありますが、それが何であるか、どのように使用できるかわかりません。
アンカーポイントとは何ですか?それは何のためですか?
c# - 次の例外が発生します:「DLL を読み込めません: オペレーティング システムを実行できません。(HRESULT からの例外: 0x800700B6)」
これは、インテル® IPP ライブラリーへの P/Invoking 時に発生します。このライブラリは、OpenMP に依存しています。
私が試したことは次のとおりです。 intel.com/en-us/articles/opm-abort-initializing-libguide40dll/
OpenMP の 2 つのバージョン (libguide40.dll と libiomp5md.dll) を一緒に使用することに関する例外を解決する必要があります。libguide40.dll のローカル コピーを削除しても問題は解決しませんでした。追跡するのを手伝ってくれませんか?
私は試してdir /s libguide40.dll
います:そのDLLのインスタンスはもうありませんが、まだ例外が発生しています.
詳細: IPP のサンプルでインテルが提供する P/Invoke 生成コードを使用しています。