我试图了解如何并行递归计算。连续地,计算采用以下形式:
for (int i = 2; i<size; i++)
{
result[i] = oldArray[i] + k * result[i-2];
}
Run Code Online (Sandbox Code Playgroud)
对于i-1索引,我之前的问题有一个解决方案:CUDA强制指令执行顺序
我想修改它以使用i-2,但我无法理解如何将相同的过程应用于二阶计算。应该可以使用该thrust::inclusive_scan功能,但我不知道如何使用。有谁知道解决方案吗?