2

与具有 WDDM 的 Geforce(同代)相比,具有 TCC 模式的特斯拉(费米或开普勒)?

我编写的程序在内核开销方面存在一些非常严重的问题,因为它必须反复启动内核,开销如此之大,我必须将许多内核合并在一起并交换内存空间以减少内核启动,但是它只能工作到目前为止谢谢到 GPU 内存存储的庞大规模。

我听说 TCC 模式可以减少开销,但它可以将开销性能提升到 CPU 级别吗?

由于我阅读了一些基准,至少对于 Geforce 280 GTX,内核调用开销比 CPU 的函数调用开销长数千倍,并且对于需要大量重复迭代的方法,它在这里产生了巨大的性能差异。

4

2 回答 2

1

WDDM 驱动程序将一起批量启动内核以减少开销。因此,如果您能够将内核合并在一起以减少启动开销,那么 WDDM 驱动程序也将如此(除非您在两者之间使用 CUDA 调用来防止批处理)。因此,在这个特定用例中,切换到 TCC 模式不会给您带来太多好处。

您确定问题是启动开销而不是其他问题吗?您要启动多少个单独的内核,这需要多长时间?
很可能(特别是在启动开销非常小的内核的情况下)将内核合并在一起允许编译器更好地优化内核,例如消除将中间结果写出和读回全局内存。

于 2013-03-15T11:15:46.663 回答
0

我正在启动 16 个内核,当我合并所有要立即启动的内核时速度为 X,速度为 10X,合并内核也增加了开销,但结果非常好。

这是多核架构,如果您不能利用它(启动最大的作业大小),那么您就是在浪费启动内核所花费的开销。

我希望这可以帮助你。

于 2013-03-15T08:45:54.537 回答