动态并行优化算法

时间:2014-04-10 21:13:01

标签: cuda dynamic-parallelism

我有以下代码片段,正在试验新的Kepler架构的功能。在具有固定NUM_ITERATIONS个循环的循环中多次调用内核。您是否认为将循环转换为父内核会有所帮助,即,与CPU相比,从CPU调用时内核开销是否较小?

是否可以使用动态并行来提高下面算法的性能?如果是这样,你能否建议一个类似的动态并行用例,这将有助于我在自己的程序中实现它?

for (i = 0; i < NUM_ITERATIONS; i++)
{
    kernelGPU<<<gridSize, blkSize>>>(
        d_a,
        d_b,
        d_c,
        d_d,
        d_e,
        R,
        V,
        N
    );
}

1 个答案:

答案 0 :(得分:1)

我实际上通过将循环放在父内核中并使用DP来实现,但性能变得更差(大约慢50%)。