問題タブ [npp]
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.
cuda - NPP 機能は完全に最適化されていませんか?
CUDA C++ を使用して、画像を水平または垂直にミラーリングする単純な関数を開発しました。
そんな時、NVIDIA Performance Primitives Library にもイメージミラーリングの機能があることを知りました。
比較のために、私は自分の関数を NPP に対して計時しました。驚いたことに、私の機能は優れていました (わずかな差ではありますが、それでも...)。
CUDA タイマーだけでなく、Windows タイマーを使用して結果を数回確認しました。
私の質問は、NPP 関数は NVIDIA GPU 用に完全に最適化されていないのでしょうか?
開発には CUDA 5.0、GeForce GTX460M (Compute 2.1)、および Windows 8 を使用しています。
c++ - CUDA、NPPフィルター
CUDA NPPライブラリは、nppiFilter_8u_C1Rコマンドを使用した画像のフィルタリングをサポートしていますが、エラーが発生し続けます。boxFilterNPPサンプルコードを起動して実行するのに問題はありません。
しかし、代わりにnppiFilter_8u_C1Rを使用するように変更すると、eStatusNPPはエラー-24(NPP_TEXTURE_BIND_ERROR)を返します。以下のコードは、元のboxFilterNPPサンプルに加えた変更です。
これはCUDA4.2と5.0で試され、同じ結果になりました。
oMaskSize = {1,1}の場合、コードは期待どおりの結果で実行されます
c++ - Nvidia NPP nppiFilterは、2Dカーネルと畳み込むときにガベージを生成します
Nvidia Performance Primitives(NPP)は、nppiFilter
ユーザー提供のイメージをユーザー提供のカーネルで畳み込むための機能を提供します。1D畳み込みカーネルの場合、nppiFilter
正しく機能します。ただし、nppiFilter
2Dカーネルのガベージイメージを生成しています。
私は入力として典型的なレナ画像を使用しました:
これが1D畳み込みカーネルでの私の実験です。これは良い出力を生成します。
カーネルを使用した上記のコードの出力[-1 0 1]
-妥当なグラデーション画像のように見えます:
ただし、2D畳み込みカーネルnppiFilter
を使用すると、ガベージイメージが出力されます。上記のコードから2Dカーネルで実行するために変更したものは次のとおりです。[-1 0 1; -1 0 1; -1 0 1]
以下は、2Dカーネルを使用した出力画像[-1 0 1; -1 0 1; -1 0 1]
です。
私は何が間違っているのですか?
このStackOverflowの投稿では、ユーザーSteenstrupの画像に示されているように、同様の問題について説明しています。http: //1ordrup.dk/kasper/image/Lena_boxFilter5.jpg
最後の注意事項:
- 2Dカーネルでは、特定のアンカー値(
NppiPoint oAnchor = {0, 0}
または{1, 1}
)に対してエラーが発生します。これは、 NPPユーザーガイドに従って-24
解釈されます。この問題は、このStackOverflowの投稿で簡単に説明されています。NPP_TEXTURE_BIND_ERROR
- このコードは非常に冗長です。これは主な質問ではありませんが、このコードをより簡潔にする方法について誰かが何か提案がありますか?
image-processing - freeImageなしのNPP CUDA
freeImageのみを使用するCUDAビルド用のNPPライブラリですか、それともNPP関数の入力として他の構造体または単にunsigned char *imageを使用できますか。
私がこの質問をする理由は、NPP のすべてのサンプルに freeImage の大きなラッパーがあるためです。
私は NVIDIA Performance Primitives ( NPP ) を徹底的に調べましたが、そこには画像が言及されているだけで、使用されている画像形式は特にありません。
freeImage を使用せずに、またはディスクからイメージをロードせずに NPP を使用する方法の例があれば、私は用心深く幸せになります。
cuda - nppiWarpPerspectiveBack_32f_C1R の問題
現在、IPP からアプリケーションをインポートして NPP を使用しています。nppiWarpPerspectiveBack_32f_C1R で問題が発生し、警告 2 (NPP_WRONG_INTERSECTION_QUAD_WARNING) が返されます。しかし、同じ係数の IPP 呼び出しが正常に機能することはわかっています。
添付されたプログラムには、ほとんど差のない 2 つの係数がありますが、一方は機能し、もう一方は機能しません。これに関するどんな助けも素晴らしいでしょう。
opencv - OpenCV GPU Primitives
Are the OpenCV primitives based on the CUDA Nvidia Performance Primitives (NPP)?.
By primitives I mean the same ones implemented in the NPP library, for example: boxFilter, Mirror, Convolution...
I would like to know about this issue as I'm planning use the NPP library. However, OpenCV has more functions that could help me for example in border treatment for image processing.
cuda - NPP BoxFilters とバイナリ データ
BoxFiltering の NPP の例を作成しようとしていますが、RGBA バイナリ データがある 8 ビットのグレースケール イメージを挿入しました。私のコードは次のようになります:
私はそれをコンパイルして取得しようとします:
なにが問題ですか?正しい方法を教えていただけますか?
今、私のコードは次のようになります。
しかし、今ではデバイス イメージとコピー (最後の行) を宣言できず、そのようなエラーが発生します: undefined symbol: nppiMalloc_8u_C4。それは何ですか?