3

我在我的桌面上用 CUDA 开发算法,以后应该在服务器上运行。

是否可以使用最近的低端卡(如计算能力 2.1)来获得所有不错的调试和分析功能,然后使用高端卡(具有相同的 cc)将代码放在服务器上?我是否只需要调整线程/网格尺寸,或者它会改变一切™。

示例:我将在Quadro 600上进行开发,服务器将使用Tesla C2075

4

3 回答 3

2

只要您的内核调用和内核本身是可扩展的,您就没有问题。

看看这个问题:

CUDA开发在不同的卡上?

于 2012-05-22T12:58:32.913 回答
1

存在一些问题,例如内存带宽不同(根据您的链接,Quadro 上为 25.6 GiB/s,Tesla 上为 148 GiB/s),或者 SM 的数量不同(驱动程序可以在 SM 之间以不同的方式分配块)。然而,在大多数情况下,这种小的差异并不重要。

于 2012-05-22T09:35:31.663 回答
1

如果服务器安装了多个 GPU,那么您需要更改代码以在多 GPU 上运行,以充分利用服务器的功能。虽然相同的代码可以正常运行,但在一张卡上。

如果服务器上只有一张卡;一般的经验法则是,您无需更改任何代码行即可利用更强大的 GPU 的功能,因为驱动程序会自动在 SM 之间分配负载。

于 2012-05-22T10:19:55.060 回答