問題タブ [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.

0 投票する
3 に答える
652 参照

c++ - 2 つの配列 / イメージの乗算におけるマルチスレッドのパフォーマンス - インテル IPP

2 つの画像 (配列) の乗算に Intel IPP を使用しています。
Intel Composer 2015 Update 6 に付属する Intel IPP 8.2 を使用しています。

大きすぎる画像を乗算する簡単な関数を作成しました (プロジェクト全体が添付されています。以下を参照してください)。
インテル® IPP マルチスレッド・ライブラリーを使用した場合の利点を確認したかったのです。

簡単なプロジェクトを次に示します (Visual Studio から完全なプロジェクトも添付しました)。

このプロジェクトは、インテル IPP シングルスレッドを使用して 1 回、インテル IPP マルチスレッドを使用して 1 回コンパイルしました。

さまざまなサイズの配列を試してみましたが、そのすべてにおいて、マルチスレッド バージョンでは効果がありません (さらに遅い場合もあります)。

マルチスレッドでこのタスクに利益がないのはなぜですか?
Intel IPP が AVX を使用していることは知っていますが、タスクがメモリ制限になるのではないかと思いました。

OpenMP を手動で使用して別のアプローチを試み、Intel IPP シングル スレッド実装を使用したマルチスレッド アプローチを採用しました。
これはコードです:

結果は同じで、パフォーマンスの向上はありませんでした。

この種のタスクでマルチスレッドを活用する方法はありますか?
タスクがメモリ制限になり、並列化してもメリットがないかどうかを検証するにはどうすればよいですか? CPU で 2 つの配列を乗算するタスクを AVX で並列化する利点はありますか?

私が試したコンピュータは、Core i7 4770k (Haswell) ベースです。

Visual Studio 2013のプロジェクトへのリンクは次のとおりです。

ありがとうございました。

0 投票する
2 に答える
1577 参照

c++ - インテル® MKL とインテル® IPP を使用した FFT

サイズが 1024*128*20 の複雑なデータがあります。128*20 ブロックの 1024 ポイントの FFT を見つける必要があります。同じものを見つけるために、インテル® MKL またはインテル® IPP を使用する予定です。インテル® MKL または IPP を使用してコードを並列化することは可能ですか? 最小計算時間の点で、MKL と IPP のどちらが優れていますか?

0 投票する
1 に答える
7446 参照

c - IPP を使用して RGB を NV12 色空間に変換する方法

Intel® Media SDK などのビデオ エンコーダーには、NV12 ビデオ入力形式が必要です。

NV12 フォーマットは YUV 4:2:0 フォーマットで、最初に Y プレーン、次にインターリーブされた UV プレーンにパックされたクロマ サンプルがメモリ内で順序付けられます。

例:
YYYYYY
YYYYYY
UVUVUV

ここに画像の説明を入力

RGB カラー形式は、Pixel-Order RGB (ピクセルごとのバイト、下位バイトは赤) を指します。
RGBRGBRGBRGBRGB
RGBRGBRGBRGBRGB

ここに画像の説明を入力

Web で調べたところ、NV12 に関して、YUVは YCbCr 色空間として定義されていることがわかりました。現在、NV12 を適用できる YCbCr 形式が少なくとも 2 つあります。

私の質問は: RGB 色空間を NV12 に変換するIPP機能はありますか?

0 投票する
2 に答える
1996 参照

opencv - IPP ippicv_windows_20151201.zip を使用して Opencv 3.1.0 をビルドする

スタンドアロン コンピューター (インターネット アクセスがない) で OpenCV 3.1.0 をビルドしようとしています。

IPP v8 を含む Intel composer 2015 がインストールされています。

CMake ビルド構成中に、次のメッセージが表示されます。

ippicv_windows_20151201.zip を手動でダウンロードして、sources サブフォルダーに配置する必要があることがわかりました。

どこからダウンロードできるか知っていますか?

ビルド フラグ "WITH_IPP" を除外できます。その場合、IPP を使用してビルドすることはまったくありません。これは、私が望んでいないことです。

OpenCV からダウンロードした無料バージョンではなく、プリインストールされた IPP (Intel Composer) を使用して OpenCV をビルドしたいのですが、どうすればそれができるか知っていますか?

BWT、ビルド WITH_IPP と WITH_IPP_A フラグの違いは何ですか?

PS OpenCVフォーラムに同じ質問を投稿しました

0 投票する
0 に答える
1401 参照

c - Intel の Integrated Performance Primitives を使用した画像のサイズ変更

私は C が初めてです。VS2015 で画像のサイズを変更するために Intel の IPP を使用しています。ippiResizeLanczos_8u_C3R関数を使用して画像のサイズを変更しようとしています。

サイズ変更された画像を表示/表示する方法、またはサイズ変更された画像 (上記の関数を適用した後の画像) のピクセル値を取得する方法がわかりません。サイズ変更された画像をさらに処理するために使用するつもりです。この関数は、おそらく「IppStatus」のみを返します。リサイズした画像やリサイズした画像のデータ情報(ピクセル値)を戻り値として取得したい。

この点で何か助けていただければ幸いです。