2014-02-21 143 views
7

我正在學習cuda 5.5,但我沒有任何Nvidia GPU。在舊版本的nvcc中有一個標誌--multicore來編譯CPU的cuda代碼。 在新版本的nvcc中,有什麼選項?我正在研究Linux。編譯cuda代碼CPU

+0

感謝您澄清「Linux」。你真的需要一個GPU。但最好的事情是Ocelot:嘗試一下。我不熟悉「--multicore」,並且我沒有在NVCC頁面上的任何地方看到它,所以我無法幫助您。但我認爲你最好的選擇是1)真正的GPU,或者2)仿真器,如CUDA-Waste或Ocelot。恕我直言... – FoggyDay

回答

5

CUDA工具包,因爲至少CUDA 4.0不支持在沒有GPU的情況下運行cuda代碼的能力。

如果您只是想編譯代碼,請參閱this question

如果您想運行使用CUDA 5.5編譯的CUDA代碼,則需要支持CUDA的GPU。

如果您願意使用舊版CUDA工具包,則可以安裝其中一種仿真器,如this one

或者您可以安裝一個非常古老的(例如〜CUDA 3.0)cuda工具包,該工具包可以在CPU上運行CUDA代碼。

+0

知道這個......如何才能在CPU上運行內核? CPU是否必須有超線程或其他? – Madhatter

+1

這是通過模擬。 –

1

在當前版本的CUDA中,程序直接在GPU上運行時進行調試。這遠遠優於舊版本的CUDA,它使用仿真器進行調試。在當前版本的CUDA中,調試工具也更加強大。因此,如果希望編寫任何CUDA代碼,當您需要調試時,支持CUDA的GPU卡將爲您提供即時投資回報。

你可以拿起舊的卡很少。檢查features of each of the compute capabilities以確定您願意走多遠。

也有一些在線的網站會讓你測試CUDA代碼。 NVIDIA有CUDA test drive計劃。 Intro to Parallel Programming course at Udacity包含用於編碼分配的在線CUDA編譯器。

+0

這不僅僅是投資回報!任何嚴重的應用程序都應該進行測試,並且希望能夠在任何機器上運行測試,即使速度較慢。 – dashesy