CUDA を使用して超並列 GPU アプリケーションを作成しています。私は手動でそれを最適化しています。Cuda C プログラミング ガイド (セクション C.2.1)__fdividef_(x, y)
によると、乗算と加算に同様の関数を使用することも有益です。
関数は次のように記述されています__fmul_[rn,rz,ru,rd](x,y)
。
__fdividef(x,y)
かっこ内の引数には記載されていません。私は疑問に思っていました、それらのブラケットは何ですか?
簡単なコードを実行すると:
int t = __fmul_(5,4);
__fmul_
が未定義であるというコンパイラ エラーが発生します。CUDA ランタイムが含まれているので、セットアップの問題ではないと思います。むしろ、それはそれらの角括弧と関係があります。この機能を正しく使用するにはどうすればよいですか? ありがとうございました。
編集: 明確にする必要があります。コンパイラは CUDA コンパイラ NVCC です。