2012-05-22 43 views
3

我在桌面上開發CUDA中的算法,該算法稍後應在服務器上運行。在「廉價」GPU上爲CUDA開發

可以使用最近的低端卡(如計算能力2.1)來獲得所有漂亮的調試和性能分析功能,然後使用高端卡(具有相同的cc)將代碼放到服務器上嗎?我只需要調整線程/網格大小,還是會更改所有內容?

例如:我將在Quadro 600上開發,服務器將使用Tesla C2075

回答

1

存在一些問題,如內存帶寬不同(根據您的鏈接,Quadro爲25.6 GiB/s,特斯拉爲148 GiB/s),或不同數量的SM(驅動程序可以以不同方式在SM之間分配塊) 。但是,在大多數情況下,這種小差異並不重要。

1

如果服務器安裝了多個GPU,那麼您需要更改代碼以在多GPU上運行以充分利用服務器的功能。雖然相同的代碼將運行良好,但在一張卡上。

如果服務器上只有一個卡,一般的經驗法則是,您需要不需要來更改任何代碼行以利用更強大的GPU的功能,因爲驅動程序會自動在SM之間分配負載。