ホストコードとデバイスコードの両方で複素数を使用する方法を理解しようとしています。私はcuComplex
に出くわしましたが(ドキュメントは見つかりませんでした)、float2
は少なくともCUDAプログラミングガイドで言及されています。float2とcuComplexの違いは何ですか?
どうすればよいですか? cuComplex
のヘッダーファイルでは、関数が__host__ __device__
と宣言されているように見えるので、どちらの場所でも使用することができます。
私の元のデータは、ファイルからstd::complex<float>
に読み込まれているので、実際にはそれを使いたくないです。 GPUで複雑な値を使うには、元のcomplex<float>
からcuComplex
にコピーする必要がありますか?
私はいくつかの他の質問があります、私はあなたが答えを提供できることを願っています。 1) 'float2'はどこに定義されていますか? 2)あなたの答えから、 'float2'と' cuComplex'はお互いに 'typedef'ですので、私はそれらが同じタイプであると言います。投稿の[Complex Numbers](https://devtalk.nvidia.com/default/topic/411477/complex-numbers/)から、 'cuBLAS'関数には' cuComplex'だけが必要で、 'float2'は受け入れられないようですs。そうですか? 3)あなたが言及した 'include'ファイルでは、sum、mulなどの演算は'演算子 'のオーバーロードとして定義されていません。 'float2'についても同じことが当てはまりますか?どうもありがとうございました。 – JackOLantern