0
グーグルではあまり役に立ちませんでした。 (ダブルV = idx.x)を倍増する整数からキャスト以下のコードスニペットで int indexを使ってC++でdoubleが期待されるAMP retrict(direct3d)code
は「シェーダーの作成に失敗しました」実行時エラーにつながります。 私は、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);
…
実際に問題の原因となっているのは本当ですか?私はそれを疑う傾向がある。 'idx.x'を評価して結果を投げ捨て、' double v = 2.502907875'を設定するとどうなりますか? – leftaroundabout
double v = 2.502907875となります。実際に私が必要としたのは価格[idx] =並行性:: pow(u、idx.x)であり、それはそのexcepionを与えるでしょう。 –
ところで、私はエミュレーションのもとでこれを試しています。 –