有什么方法可以在以下计算区域中进一步并行化循环,替换 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 的全部计算能力,进一步并行化甚至可能没有意义,