【发布时间】:2014-08-28 21:57:25
【问题描述】:
我们对 cuFFT 使用的内存有限制吗(尤其是一维变换)。 我需要为大量数据计算 FFT,并且我想充分利用我的 GPU 功能。
在用户指南中记录了
在最坏的情况下,CUFFT 库为 8*batch*n[0]*..*n[rank-1] cufftComplex 或 cufftDoubleComplex 元素分配空间(其中 batch 表示将并行执行的转换数量, rank 是输入数据的维数(参见多维变换),n[] 是变换维数的数组)分别用于单精度和双精度变换。
它也说
根据计划的配置,可能会使用较少的内存。 在某些特定情况下,临时空间分配可以低至 1*batch*n[0]*..*n[rank-1] cufftComplex 或 cufftDoubleComplex 元素。
“在某些特定情况下”是没有意义的。具体情况没有指定,下限也没用,我们只能用上限“8*.....”来限制GM上使用的内存大小。
就我而言,我有一个一维“经典”复杂变换,它似乎只使用“1*....”。但我无法验证。我应该继续使用“ 8*batch*n[0]*..*n[rank-1] 元素”还是有人对这些特定案例有更多详细信息?
【问题讨论】: