グーグルはあまり役に立ちませんでした。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);
…