【问题标题】:How to calculate a two-dimensional FFT of a large matrix with CUDA?如何用 CUDA 计算大矩阵的二维 FFT?
【发布时间】:2021-04-12 20:05:45
【问题描述】:

现在我有一个16K*16K的大矩阵,全局内存不够用,怎么计算矩阵的二维FFT?

【问题讨论】:

  • 很可能你不能。有核外fft算法。我不知道有任何 GPU 实现。当然没有袖口
  • 您应该能够在 3GB GPU(使用 CUFFT)上执行该大小的 float R2C 或 C2R 就地转换。 Here 是框架。我可以在 2GB GPU 上进行 15Kx15K 的转换。

标签: matrix cuda cufft


【解决方案1】:

也许使用统一内存的超额订阅适用于 cuFFT?

https://developer.nvidia.com/blog/unified-memory-cuda-beginners/

您还可以分别对行和列进行 FFT,并在主机内存之间移动数据。

您需要完整的结果矩阵吗?你在 CPU 和 GPU 上有多少内存?输入/输出是复数值吗?您需要什么精度(16 位是否足够)?计算时间紧迫吗?您还想处理更大的矩阵吗?

【讨论】:

    猜你喜欢
    • 2014-05-14
    • 2010-12-30
    • 2016-10-30
    • 2022-12-10
    • 2017-12-29
    • 2015-04-12
    • 2018-12-17
    • 2022-01-26
    • 1970-01-01
    相关资源
    最近更新 更多