在与 CUDA 的互操作区域内使用 openACC 指令



有什么方法可以在以下计算区域中进一步并行化循环,替换 PGI 18.1 包含 #pragma ACC 循环指令

#pragma acc host_data use_device(ptr)
    {
     cufftPlanMany( &plan, rank, ss  , &inembed, istride, idist, &onembed, ostride, odist, CUFFT_Z2Z, F.length[0]);
    // this loop
    for(int i=0;i<length[2];i++)
    {
     cufftExecZ2Z( plan, (cufftDoubleComplex *)(ptr+i*length[0]*length[1]), (cufftDoubleComplex *)(ptr+i*length[0]*length[1]), CUFFT_INVERSE );
    }
     cufftDestroy(plan);
    }

库达计划许多人已经解决了这个问题吗?

我认为

,假设 cufft 使用了 GPU 的全部计算能力,进一步并行化甚至可能没有意义,

最新更新