問題タブ [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.

0 投票する
1 に答える
5506 参照

cuda - cufftPlanMany を使用したバッチ FFT

cuFFT ライブラリが提供するバッチ方式を使用して、4412D FFT を実行したいと考えています。32-by-32変換のパラメーターは次のとおりです。

上記の計画を使用して順方向および逆方向の FFT を実行した後、元のデータを取得できませんでした。

cudaPlanManyのパラメータを正しく設定する方法を教えてもらえますか? よろしくお願いします。

ところで、それはcudaPlanMany私の状況に最適な使用方法ですか?

0 投票する
1 に答える
1036 参照

cuda - CuFFT 倍精度から複素数へ

CuFFT Lib で double から std::complex への FFT を作成したいと考えています。私のコードは次のようになります

しかし、変換された値は 1 0 0 0 0 .... または正規化なしで 100 0 0 0 0 .... である必要があると思うので、これは間違っているように思えますが、 0 0 0 0 0 を取得するだけです。 ..

さらに、cufftExecD2Z が適切に機能する場合は、それが可能である必要がありますが、正しく行う方法がわかりません。誰でも助けることができますか?

0 投票する
1 に答える
129 参照

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] 要素」にとどまるべきですか、または誰かがこれらの特定のケースについて詳細を知っていますか?

0 投票する
1 に答える
912 参照

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 で開くことをお勧めします)。

0 投票する
1 に答える
471 参照

cuda - CuFFT 未知のエラー

300,000 ポイントの配列があり、600 ポイントごとの fft が必要です。cufftPlanMany を使用して実行しようとしていますが、ここで不明なエラーが発生します。

コンテキスト内のコードは次のとおりです

エラーが実際に何であるかについて何か考えはありますか?