0

グーグルはあまり役に立ちませんでした。AMP を使用したことのある人はいますか?

以下のコード スニペットでは、integer から double (double v = idx.x) へのキャストにより、「シェーダーの作成に失敗しました」という実行時エラーが発生します。私は、restrict(direct3d) がコンパイル時に GPU が処理できないことを警告してくれると思っていました。pow() に代わるものはありますか? または、そのためにループを作成する必要がありますか?

concurrency::array_view<double,1> prices = …
concurrency::parallel_for_each(
   prices.grid, [=](index<1> idx) mutable restrict(direct3d) {
      double v = idx.x;
      prices[idx] =  concurrency::pow(u, v);
…
4

1 に答える 1

1

Windows での GPU の二重サポートの説明と、C++ AMP 数学ライブラリ http://blogs.msdn.com/b/nativeconcurrency/archive/2012/02/08/math-library-for-c-ampを参照してください。 .aspx http://blogs.msdn.com/b/nativeconcurrency/archive/2012/02/07/double-precision-support-in-c-amp.aspx

まだ質問がある場合は、お気軽に投稿してください。また、質問を見つけやすくするために、質問に c++amp のタグを付けてください。

于 2012-02-14T01:57:40.497 に答える