【问题标题】:Using CUFFT in cuda在 cuda 中使用 CUFFT
【发布时间】:2015-07-16 21:59:21
【问题描述】:

我正在尝试使用 cufft 查找 2,500 个数据类型 doublereal 点的 fft,每个数据点有 20,000 个数据点。我用过:

cufftHandle plan;

cufftPlan1d(&plan, 20000, CUFFT_D2Z, 2500) ;

cufftExecD2Z(plan, source, result);

当数据点数达到 15000 时,代码似乎可以正常工作。但在它上面,结果并不准确。我发现我可以在一维数组中有 2^27 个数据点,但 20000*2500 仍然小于 2^27。有人能指出错误是什么以及必须做些什么来纠正它吗?

【问题讨论】:

    标签: cuda


    【解决方案1】:

    cufftPlan1d() 用于批处理被标记为已弃用(在 cuda 6.0 及更高版本中,可能已经更早了?),请参阅http://docs.nvidia.com/cuda/cufft/index.html#function-cufftmakeplan1d

    您是否尝试使用推荐的cufftPlanMany()? 对于您的示例,计划应如下所示:

    int size[1] = {20000};
    cufftPlanMany( &plan, 1, size, NULL, 0, 0, NULL, 0, 0, CUFFT_D2Z, 2500 );
    

    有关参数的更多信息,请参阅http://docs.nvidia.com/cuda/cufft/index.html#function-cufftplanmany

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-31
      • 2020-02-17
      • 1970-01-01
      • 1970-01-01
      • 2012-09-10
      • 2014-09-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多