我正在CUDA中实现类似Radon的转换,但我似乎无法从我的GeForce TITAN中获得所有性能(编辑:显然我做,见注释)。为了优化这一点,我想到了并发执行内核,因为它们只需要很少的数据传输,但我无法让内核同时执行。
典型的配置文件运行如下所示:
启用“并发内核支持”,使用CUDA 5.5(RC)为sm_35编译和生成代码。重叠很少,几乎不值得。
我已经阅读了一些关于并发内核执行的内容,并尝试了不同的方法来实现它:
我不明白为什么旋转内核不会重叠。我是资源有限的,如果是这样,我怎么能找到它?如果我使用更多不同的内核,它会设法更多地并行化,例如在这一个中,
但我认为应该做得更好......
编辑:删除了20%的数字,因为我无法重现它,而且它似乎也是错误的