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


一起CUDA吧

今天NVIDIA的技術人員來到了浙大,向我們帶來了一種先進的很可能的是劃時代的編程框架——CUDACompute Unified Device Architecture),這場技術講座讓我受益匪淺。

CUDA就是一個NVIDIA GPU的計算框架。在以往GPU隻負責圖形數據運算,而CUDA是將GPU的強大的並行計算能力應用到所有的其他對CPU編程的程序,而且目前他已經對一些高級語言進行了擴展(現在有C),使得開發人員可以用高級語言來編寫這樣的程序。

CUDA等於是把過去在CPU上做的事情給搶了,搬到了GPU上來做,而且效率會是在CPU上的幾十上百倍,一些大計算量的工作,比如工程計算、醫學影像、圖形圖像處理、數字娛樂、視頻編碼、數字娛樂等等這些大計算量的工作如果在GPU上並行運算,效率提升是非常巨大的。CUDA雖然是GPU的計算,但是它離不開CPUCUDA是一個異構架構,也就是它需要CPUGPU協同作站,其原因是因為GPUCPU的體係的區別。

CPU上有ALU,也有很多的CACHE,而且有很多控製邏輯,但是GPU上大部分都是ALUGE80前的GPU主要有頂點處理器、片段處理器和測試處理器,GE80及之後的GPU將頂點處理器和片段處理器合並了起來,而采用一個控製邏輯動態分配處理器用於頂點和片段的處理。也就是說GPU的強項在於並行計算,而CPU中有大量的控製邏輯,計算能力不如GPUCUDA的架構就是使用CPU控製邏輯,而使用GPU來進行計算,最大發揮效率十一哥CPU+GPUs的組合。挺NVIDIA的人說這種框架可以把效率提升幾十倍,又能吧硬件消耗降低幾十倍。比如以往的大規模並行計算可能要大量的CPU聯合,現在可能隻要幾塊最普通GE80GPU加一塊CPU。看來也許以後CPU可以專門負責控製調度了,所有的計算都搬到GPU上了,不知那時INTEL會不會破產。

現在的可以運行CUDA程序的GPU主要是GE80之後的。Nvidia的顯卡主要分三類:QUADRO:最專業的圖形處理器,它同時有強大的圖形處理能力和強大的計算能力,GEFORCE:它比QUADRO性能差些,但是是通常PC使用的。TESLA;這是最新發布的,它是專門用於CUDA的,因為它不具有圖形處理能力,隻能進行並行計算。

CUDA的編程可以去查閱NVIDA的官網,它的核心思想是:初始化GPU-GPU上分配存儲-GPU上運行KERNAL函數-把數據從GPU的顯存傳回CPU的主內存-釋放GPU上的存儲-退出

看了幾個CUDA程序的小DEMo,覺得很容易懂的,打算去學CUDA去了。

最後更新:2017-04-02 00:06:46

  上一篇:go 超強 php mysql分頁類代碼
  下一篇:go SNS網站中怎樣獲取MSN聯係人信息