CUFFTライブラリで提供されているバッチモードの使用方法を理解しようとしています。
基本的に、幅5300ピクセル、高さ3500ピクセルの画像があります。現在、これは、FFTWを使用してこれらの5300要素で35001DFFTを実行していることを意味します。
これは、CUFFTライブラリをバッチモードで実行するのに適した問題ですか?この問題を解決するには、データをどのように設定する必要がありますか?
ありがとう
はい、バッチモードを使用できます。
バッチモードを使用するには、5300要素を継続的に保存する必要があります。
これは、隣接するバッチ間の距離が5300であることを意味します。次のように実行できます。
..........
cufftComplex *host;
cufftComplex *device;
CudaMallocHost((void **)&host,sizeof(cufftComplex)*5300*3500);
CudaMalloc((void **)&devcie,sizeof(cufftComplex)*5300*3500);
//here add the elements,like this:
//host[0-5299] the first batch, host[5300-10599] the second batch ,and up to the 3500th batch.
CudaMemcpy(device,host,sizeof(cufftComplex)*5300*3500,......);
CufftPlan1d(&device,5300,type,3500);
CufftExecC2C(......);
......
詳細については、CUFFTマニュアルを参照してください。
はい、これは良い問題です。
次のようにする必要があります。
詳細については、CUFFTマニュアルを参照する必要があります