問題タブ [cufft]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cuda - cufftPlanMany を使用したバッチ FFT
cuFFT ライブラリが提供するバッチ方式を使用して、441
2D FFT を実行したいと考えています。32-by-32
変換のパラメーターは次のとおりです。
上記の計画を使用して順方向および逆方向の FFT を実行した後、元のデータを取得できませんでした。
cudaPlanManyのパラメータを正しく設定する方法を教えてもらえますか? よろしくお願いします。
ところで、それはcudaPlanMany
私の状況に最適な使用方法ですか?
cuda - CuFFT 倍精度から複素数へ
CuFFT Lib で double から std::complex への FFT を作成したいと考えています。私のコードは次のようになります
しかし、変換された値は 1 0 0 0 0 .... または正規化なしで 100 0 0 0 0 .... である必要があると思うので、これは間違っているように思えますが、 0 0 0 0 0 を取得するだけです。 ..
さらに、cufftExecD2Z が適切に機能する場合は、それが可能である必要がありますが、正しく行う方法がわかりません。誰でも助けることができますか?
buffer - 使用される cuFFT バッファ
cuFFT (特に 1D 変換) で使用されるメモリに制限はありますか? 膨大な量のデータの FFT を計算する必要があり、GPU 機能を最大限に活用したいと考えています。
ユーザーガイドには、次のことが文書化されています。
最悪の場合、CUFFT ライブラリは 8*batch*n[0]*..*n[rank-1] cufftComplex または cufftDoubleComplex 要素にスペースを割り当てます (ここで、batch は並列に実行される変換の数を示し、rank は入力データの次元数 (多次元変換を参照)、n[] は変換次元の配列です) は、単精度および倍精度の変換のそれぞれです。
それはまた言います
プランの構成によっては、使用されるメモリが少なくなる場合があります。一部の特定のケースでは、一時スペースの割り当ては 1*batch*n[0]*..*n[rank-1] cufftComplex または cufftDoubleComplex 要素と同じくらい低くすることができます。
「特定のケースでは」は無意味です。具体的なケースは指定されておらず、下限は役に立ちません。GM で使用されるメモリ サイズを制限するには、上限 "8*....." のみを使用できます。
私の場合、1D の「古典的な」複雑な変換があり、「1*....」のみを使用しているようです。しかし、私はそれを確認することはできません。「8*batch*n[0]*..*n[rank-1] 要素」にとどまるべきですか、または誰かがこれらの特定のケースについて詳細を知っていますか?
cuda - cuda FFT と iFFT の後で同じ画像ではない
CUDA を使用して 2D 画像で FFT -> ランプ フィルタリング -> iFFT を実行しようとしています。まず、テストとして、フィルタなしで FFT と iFFt を実行してみました。FFT と iFFT の後、画像は同じように見えますが、操作前の画像のピクセル値は 0 ~ 255 で、FFT と iFFT の後、画像には ~10^7 の値が含まれています。
テスト画像には浮動小数点数が含まれており、寸法は 512 x 360 です。「cuffSinogram」関数で fft を実行し、「cuInversefftSinogram」関数で iFFT を実行します。これらは私が書いた2つの関数です:
元の変更された tiff 画像が 1 つここにあります(imageJ で開くことをお勧めします)。
cuda - CuFFT 未知のエラー
300,000 ポイントの配列があり、600 ポイントごとの fft が必要です。cufftPlanMany を使用して実行しようとしていますが、ここで不明なエラーが発生します。
コンテキスト内のコードは次のとおりです
エラーが実際に何であるかについて何か考えはありますか?