閱讀715 返回首頁    go 阿裏雲 go 技術社區[雲棲]


CUDA從入門到精通(一):環境搭建

NVIDIA於2006年推出CUDA(Compute Unified Devices Architecture),可以利用其推出的GPU進行通用計算,將並行計算從大型集群擴展到了普通顯卡,使得用戶隻需要一台帶有Geforce顯卡的筆記本就能跑較大規模的並行處理程序。

 

使用顯卡的好處是,和大型集群相比功耗非常低,成本也不高,但性能很突出。以我的筆記本為例,Geforce 610M,用DeviceQuery程序測試,可得到如下硬件參數:

計算能力達48X0.95 = 45.6 GFLOPS。而筆記本的CPU參數如下:

CPU計算能力為(4核):2.5G*4 = 10GFLOPS,可見,顯卡計算性能是4核i5 CPU的4~5倍,因此我們可以充分利用這一資源來對一些耗時的應用進行加速。

 

好了,工欲善其事必先利其器,為了使用CUDA對GPU進行編程,我們需要準備以下必備工具:

1. 硬件平台,就是顯卡,如果你用的不是NVIDIA的顯卡,那麼隻能說抱歉,其他都不支持CUDA。

2. 操作係統,我用過windows XP,Windows 7都沒問題,本博客用Windows7。

3. C編譯器,建議VS2008,和本博客一致。

4. CUDA編譯器NVCC,可以免費免注冊免license從官網下載CUDA ToolkitCUDA下載,最新版本為5.0,本博客用的就是該版本。

5. 其他工具(如Visual Assist,輔助代碼高亮)

 

準備完畢,開始安裝軟件。VS2008安裝比較費時間,建議安裝完整版(NVIDIA官網說Express版也可以),過程不必詳述。CUDA Toolkit 5.0裏麵包含了NVCC編譯器、設計文檔、設計例程、CUDA運行時庫、CUDA頭文件等必備的原材料。

安裝完畢,我們在桌麵上發現這個圖標:

不錯,就是它,雙擊運行,可以看到一大堆例程。我們找到Simple OpenGL這個運行看看效果:

 

點右邊黃線標記處的Run即可看到美妙的三維正弦曲麵,鼠標左鍵拖動可以轉換角度,右鍵拖動可以縮放。如果這個運行成功,說明你的環境基本搭建成功。

出現問題的可能:

1. 你使用遠程桌麵連接登錄到另一台服務器,該服務器上有顯卡支持CUDA,但你遠程終端不能運行CUDA程序。這是因為遠程登錄使用的是你本地顯卡資源,在遠程登錄時看不到服務器端的顯卡,所以會報錯:沒有支持CUDA的顯卡!解決方法:1. 遠程服務器裝兩塊顯卡,一塊隻用於顯示,另一塊用於計算;2.不要用圖形界麵登錄,而是用命令行界麵如telnet登錄。

2.有兩個以上顯卡都支持CUDA的情況,如何區分是在哪個顯卡上運行?這個需要你在程序裏控製,選擇符合一定條件的顯卡,如較高的時鍾頻率、較大的顯存、較高的計算版本等。詳細操作見後麵的博客。

好了,先說這麼多,下一節我們介紹如何在VS2008中給GPU編程。

最後更新:2017-04-03 16:48:43

  上一篇:go JavaScript函數及其參數數組簡介
  下一篇:go C#動態方法調用