【发布时间】:2019-11-15 19:45:17
【问题描述】:
根据 NVIDIA 文档,批处理的 CuFFT 将并行执行批处理:
batch 表示将在 并行 (https://docs.nvidia.com/cuda/cufft/index.html#function-cufftplan2d)
我想执行一个包含 500 个批次的 2D FFt,我注意到这些 FFT 的计算时间几乎线性地取决于批次的数量。因此,我想知道批次是否真的是并行计算的。一个 1500 x 1500 像素和 500 个批次的 FFT 运行大约需要 200 毫秒。
在同时运行大量 FFT 的情况下,使用批处理是减少计算时间的最佳方法还是应该考虑流式传输或其他方法?
我还没有在 NVIDIA 文档中找到有关批次内部执行的更多详细信息。
【问题讨论】:
-
最好是批处理,而不是流式传输。您的 GPU 的工作已经饱和,这就是为什么随着批量大小的增加您会看到线性增长。