我在桌面上使用CUDA开发算法,以后应该在服务器上运行。
是否可以使用最近的低端卡(如计算能力2.1)来获得所有漂亮的调试和分析功能,然后将代码放在服务器上的高端卡(具有相同的cc)?我只需要调整线程/网格尺寸,还是改变一切™。
示例:我将使用Quadro 600进行开发,服务器将使用Tesla C2075。
答案 0 :(得分:2)
答案 1 :(得分:1)
存在一些问题,例如内存带宽不同(Quadro上为25.6 GiB / s,Tesla上为148 GiB / s,根据您的链接),或者不同数量的SM(驱动程序可以以不同方式在SM上分配块)。然而,在大多数情况下,这种小的差异并不重要。
答案 2 :(得分:1)
如果服务器安装了多个GPU,则需要更改代码以在Multi-GPU上运行,以充分利用服务器的强大功能。虽然相同的代码可以在单张卡上正常运行。
如果服务器上只有一张卡;一般的经验法则是,不需要更改任何代码行以利用更强GPU的强大功能,因为驱动程序会自动在SM之间分配负载。