問題タブ [c++-amp]

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 投票する
1 に答える
604 参照

c# - C++ AMP 計算と WPF レンダリング グラフィックス カードのデュアル ユース パフォーマンス

状況:

計算と画像のレンダリング (画像の前処理と表示) の両方が必要なアプリケーションでは、AMP と WPF の両方を使用したいと考えています (AMP は画像に対していくつかのフィルターを実行し、WPF はスケーリング/回転された表示以上のことはしません)。どちらも約 30 fps で実行され、新しい画像が継続的にストリーミングされます)。

質問:

2つが互いにどのように影響するかを知る方法はありますか?

後で実際のアプリケーションでも、分離された AMP のみの環境で見られる、うまくいけば素晴らしいスピードアップが見られるかどうか疑問に思っています。

追加情報:

とにかく別のプロジェクトでセットアップするのは低レベルで新しい機能であるため、AMP のパフォーマンスを個別に測定することができます。複雑なアプリケーションでは WPF レンダリング部分が既に存在するため、それを分離することは困難です。

結果は中間レベルでも必要になるため、レンダリングのみにフィルターなどを実行する予定はありません (エッジ検出、保存などの他のアルゴリズム)。

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

c++ - C++ AMP のネストされたループ

大規模な並列コンピューティングを必要とするプロジェクトに取り組んでいます。ただし、トリッキーな問題は、プロジェクトに次のようなネストされたループが含まれていることです。

最高のゲインを達成するには、これら 2 つのレベルのループを並列化する必要があります。このような:

テストしたところ、AMP はネストされた for ループをサポートしていないことがわかりました。誰でもこの問題について何か考えがありますか? ありがとう

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

c++ - 単純な画像処理の例での C++AMP 例外

私は独学で C++AMP を学ぼうとしており、私の分野の非常に単純なタスク、つまり画像処理から始めたいと考えています。24 ビット/ピクセルの RGB イメージ (ビットマップ) を 8 ビット/ピクセルのグレースケール イメージに変換したいと考えています。画像データはunsigned char配列で利用できます(Bitmap::LockBits(...)などから取得)

C++AMP は何らかの理由でorを介してcharorunsigned charデータを処理できないことを知っているので、そのブログに従って sを使用しようとしました。ここでは、8bpp テクスチャがどのように書き込まれるかが説明されていますが、VisualStudio 2013 では廃止されたことが示されています。arrayarray_viewtexturewriteonly_texture_view

私のコードは、「カーネルのディスパッチに失敗しました」というランタイム例外をスローします。例外の完全なテキストは長いです。

ID3D11DeviceContext::Dispatch: Compute Shader ユニットのスロット 0 の Unordered Access View (UAV) の形式は (R8_UINT) です。この形式は、UAV としてのシェーダーからの読み取りをサポートしていません。シェーダーが実際にビューを使用する場合、この不一致は無効です (たとえば、シェーダー コードの分岐が原因でスキップされないなど)。残念ながら、すべてのハードウェア実装でこのフォーマットを UAV として読み取ることをサポートすることはできませんでしたが、このフォーマットは UAV として書き込むことができます。シェーダーがこのリソースに対して読み取りのみを実行し、書き込みを実行する必要がない場合は、UAV の代わりにシェーダー リソース ビューを使用することを検討してください。

これまでに使用したコードは次のとおりです。

この例外の理由は何ですか? また、回避策として何ができますか?

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

c++ - MATLAB 低速 GPU の C++AMP ARRAY_VIEW

私の GPU は、matlab mex で実装されたプログラムである HD 7790 です。C++AMP。CPU Phenom II X6 (1055T) 2.8GHZ と比較して、プログラムが遅いことがわかります。

CPU Phenom II X6 (1055T) 800MHZ (4 倍遅い) と比較して、プログラムが遅いことがわかります。

CPU と GPU 転送の関係 メモリ。GPU プログラムを高速化するにはどうすればよいですか?

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

matlab - mex を使用して MATLAB でアドレス メモリ GPU C++AMP にアクセスするには?

matlabでC++AMPを使って、GPUのメモリにアクセスしたい

SP と DP の compute_process を備えた radeon GPU があり、コンピューティング アルゴリズムで GPU のみを使用したいと考えています。??? CPUメモリへのアクセスを避けるため。

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

c++ - C++AMP 16 ビット イメージのテクスチャを使用したグラデーションの計算

kinect から取得した 16 ビットの深度画像を使用しています。インデックスや画像のサイズが原因で、独自のフィルターを作成するのが難しいことがわかりました。任意のビットサイズの画像を操作できるため、テクスチャを使用しています。

そのため、何が間違っているのか、なぜ期待どおりに機能しないのかを理解するために、簡単な勾配を計算しようとしています。

y dir を使用すると、何か問題があることがわかります。

x の場合:

Yについて:

それが私のコードです:

どんな助けでも大歓迎です。

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

c++ - C++Amp テクスチャからテクスチャへの 16 ビットのイメージのコピー (openCV Mat から)

この問題は、この 1 つのリンクからの次のステップです。

簡単に言えば、16 ビットの画像を取得する kinect からの深度画像を使用しています。C++Amp では、データのビット サイズにいくつかの制限があります。そのため、テクスチャを使用して対処しようとしています。

今、私は適切なピクセルに書いていると確信しています。ただし、テクスチャの元のデータから取得する際に問題があるようです。

それがコードです:

そして結果:

GPUを使用してコピーした後:

また、kinect 画像を使用して何が起こるかを確認してみました。結果は私を驚かせます:

オリジナル:

結果:

何が起こっているか知っている人はいますか?

これは、16 ビットのイメージを直接操作するために行った変更です (役立つかもしれません)。

いつものように、どんな助けも非常に感謝しています。あなたが私を助けることができると思うなら、私に詳細を尋ねることを躊躇しないでください.

ありがとう、デビッド