プログラムで cuFFT 関数を使用しています。Tesla k20 カードを使用しています。私の信号サイズは 16384 です。
cufftExecC2C が呼び出されたときに作成されるブロックとスレッドの数と、GPU で消費されるメモリの量は?
@harrism が示すように、nvprofを使用して実行パラメーターを検出できます。
nvprof --print-gpu-trace <your-executable>
nvidia-smi
メモリについては、アプリケーションの実行中に GPU メモリ使用量を照会するために使用する、またはcudaMemGetInfoのような CUDA API 呼び出しの 1 つを使用して FFT の実行中にメモリを照会するなど、観察方法を使用することもできます。
CUDA 5.5 では、CUFFT API 呼び出しの新しいセットが導入され、メモリ ニーズの見積もりにも役立ちます。関連する API 呼び出しは次のとおりです。
cufftEstimate1d(…)
cufftEstimate2d(…)
cufftEstimate3d(…)
cufftEstimateMany(…)
これらの呼び出しは、提案された変換タイプとサイズの推定メモリ使用量を返します。
次の CUDA 5.5 RC ドキュメントを参照してください (例: Linux cuda 5.5 RC インストールの場合)。
/usr/local/cuda/doc/pdf/CUFFT_Library.pdf
特に、セクション 3.4「作業領域の CUFFT 推定サイズ」
計画を策定している場合は、見積もりの呼び出しに類似した次の CUDA 5.5 CUFFT APIcufftGetSize...
呼び出しを使用して、サイズのより正確な見積もりを取得できます。詳細については、前述のドキュメントのセクション 3.5 を参照してください。