顯卡,驅動和CUDA的認識

之乎(https://www.zhihu.com/question/59184480/answer/162623008)

顯卡:(GPU)主流是Nvidia的GPU,深度學習本身需要大量計算。GPU的並行計算能力,在過去幾年裏恰當地滿足了深度學習的需求。AMD的GPU基本沒有什麼支持,可以不用考慮。

驅動:沒有顯卡驅動,就不能識別GPU硬件,不能調用其計算資源。但是呢,Nvidia在Linux上的驅動安裝特別麻煩,尤其對於新手簡直就是噩夢。得屏蔽第三方顯卡驅動。下面會給出教程。

CUDA:是Nvidia推出的只能用於自家GPU的並行計算框架。只有安裝這個框架才能夠進行復雜的並行計算。主流的深度學習框架也都是基於CUDA進行GPU並行加速的,幾乎無一例外。還有一個叫做cudnn,是針對深度卷積神經網絡的加速庫。

cuda的其他理解(https://blog.csdn.net/pjh23/article/details/83418736

CUDA呢簡單來說就是GPU通用運算的一種編程框架。我這麼說一定是不好理解了。

GPU通用運算的含義簡單地說就是讓顯卡的GPU去幫助cpu去幹事兒。通用,是相對於專用而言,GPU用於遊戲加速,那就是專用處理器,在普通軟件的運用中,GPU的計算資源一般是閒置的,而承擔運算工作的是CPU,CPU就是典型的通用計算處理器。所以在遊戲的時候cpu也要工作。這就是爲什麼一般遊戲都有個cpu的要求。用gpu通用運算是有好處的。一般來說衡量運算能力使用浮點運算速度。(浮點運算簡單地說就是 加減乘除)cpu要遠遠低於gpu 就拿I7 來說 i7 950的浮點運算能力基本上才相當於GTX580gpu的四十分之一。這麼強的能力不用 那就浪費了。所以大家就開使動腦子打gpu的主意。 最開始ATI提出了stream框架 來調用GPU協助cpu工作 但是沒有之後Nvida、推出的CUDA有名。當然除了這倆還有其它的框架。 stream和 CUDA只適用於 各自的品牌 還不能完全稱得上通用。
**OpenCL 和 DirectCompute 就是兩個大家全能用的通用框架。**前者時apple所倡導的 後者是微軟所開發的。這就是爲什麼 iso6系統的safari要比之前的都要快很多 這就是爲什麼ie10要比ie9快很多的原因 因爲它們都可以調用了gpu來幫助運算。加快速度。前者被蘋果低調的使用 後者被微軟寫入到DirectX11中 成爲了標準。
再說回CUDA,CUDA是Compute Unified Device Architecture的縮寫。我也不大會翻譯 就叫cuda好了 這東西 用他的好處就是能調用GPU的平行運算能力 和強大的浮點運算能力。在視頻解碼。或者處理遊戲中物理特效的時候有非常好的效果(如果用cpu 去算現在遊戲所運用的物理特效 那cpu就會累死)其實日常用處很少。也就遊戲和視頻編碼用得上。
cuda的用處還有很多 其實用在消費級的地方cuda很少大部分用在了特殊領域了。 很多超級計算中心 比如計算天氣預告需要進行海量的數據計算 就應用得到gpu的運算能力了.

cuda的其他定義(https://product.pconline.com.cn/itbk/diy/graphics/1109/2521869.html

CUDA(Compute Unified Device Architecture),顯卡廠商NVidia推出的運算平臺。 CUDA™是一種由NVIDIA推出的通用並行計算架構,該架構使GPU能夠解決複雜的計算問題。 它包含了CUDA指令集架構(ISA)以及GPU內部的並行計算引擎。

  計算行業正在從只使用CPU的“中央處理”向CPU與GPU並用的“協同處理”發展。爲打造這一全新的計算典範,NVIDIA®(英偉達™)發明了CUDA(Compute Unified Device Architecturem,統一計算設備架構)這一編程模型,是想在應用程序中充分利用CPU和GPU各自的優點。現在,該架構現已應用於GeForce®(精視™)、ION™(翼揚™)、Quadro以及Tesla GPU(圖形處理器)上,對應用程序開發人員來說,這是一個巨大的市場。

  在消費級市場上,幾乎每一款重要的消費級視頻應用程序都已經使用CUDA加速或很快將會利用CUDA來加速,其中不乏Elemental Technologies公司、MotionDSP公司以及LoiLo公司的產品。在科研界,CUDA一直受到熱捧。例如,CUDA現已能夠對AMBER進行加速。AMBER是一款分子動力學模擬程序,全世界在學術界與製藥企業中有超過60,000名研究人員使用該程序來加速新藥的探索工作。在金融市場,Numerix以及CompatibL針對一款全新的對手風險應用程序發佈了CUDA支持並取得了18倍速度提升。Numerix爲近400家金融機構所廣泛使用。

  CUDA的廣泛應用造就了GPU計算專用Tesla GPU的崛起。全球財富五百強企業現在已經安裝了700多個GPU集羣,這些企業涉及各個領域,例如能源領域的斯倫貝謝與雪佛龍以及銀行業的法國巴黎銀行。隨着微軟Windows 7與蘋果Snow Leopard操作系統的問世,GPU計算必將成爲主流。在這些全新的操作系統中,GPU將不僅僅是圖形處理器,它還將成爲所有應用程序均可使用的通用並行處理器。

 

CUDA的應用

  計算行業正在從只使用CPU的“中央處理”向CPU與GPU並用的“協同處理”發展。爲打造這一全新的計算典範,NVIDIA(英偉達)發明了CUDA(Compute Unified Device Architecturem,統一計算設備架構)這一編程模型,是想在應用程序中充分利用CPU和GPU各自的優點。現在,該架構現已應用於GeForce(精視)、ION(翼揚)、Quadro以及Tesla GPU(圖形處理器)上,對應用程序開發人員來說,這是一個巨大的市場。 

CUDA產生的原因

  隨着顯卡的發展,GPU越來越強大,而且GPU爲顯示圖像做了優化。在計算上已經超越了通用的CPU。如此強大的芯片如果只是作爲顯卡就太浪費了,因此NVidia推出CUDA,讓顯卡可以用於圖像計算以外的目的。

CUDA體系結構的組成

  開發庫:開發庫是基於CUDA技術所提供的應用開發庫。

  運行期環境:運行期環境提供了應用開發接口和運行期組件,包括基本數據類型的定義和各類計算、類型轉換、內存管理、設備訪問和執行調度等函數。

  驅動:CUDA-enable的GPU的設備抽象層,提供硬件設備的抽象訪問接口。也就是需要安裝有nVIDIA硬件的電腦上安裝相應的驅動來實現CUDA通用運算。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章