2019年4月15日 星期一

.英偉達 CUDA 在深度學習中扮演著什麼角色

What Are CUDA Cores?

http://www.arcran.com/tw/


来源:Ai芯天下


運算正在從CPU中央處理,向CPU與GPU協同處理的方向發展。為了實現這一新型運算模式,英偉達發明了英偉達CUDA並行運算架構。

該架構現在正運用於英偉達 (NVIDIA)Tesla、英偉達Quadro(NVIDIA Quadro)以及英偉達精視(NVIDIA GeForce)GPU上。對應用程序開發商來說,英偉達 CUDA架構擁有龐大的用戶群。

AI芯天下丨英伟达CUDA在深度学习中扮演着什么角色

各領域CUDA扮演的角色
在科學研究領域,英偉達 CUDA 受到狂熱追捧。例如,英偉達 CUDA 能夠加快AMBER,這款分子動力學模擬程序的速度。全球有6萬餘名學術界和製藥公司的科研人員,使用該程序來加速新藥開發。

在金融市場,Numerix和CompatibL已宣佈,在一款對手風險應用程序中,支持英偉達 CUDA ,而且因此實現了18倍速度提升。

在GPU運算領域中,英偉達 Tesla GPU的大幅成長,說明了英偉達 CUDA 正被人們廣泛採用。目前,全球《財富》五百強企業已經安裝了700多個GPU集群,從能源領域中的斯倫貝謝,和雪佛龍到銀行業中的法國巴黎銀行,這些企業的範圍十分廣泛。

在消費級市場上,幾乎每一款重要的消費級影像應用程序,都已經使用CUDA加速,其中不乏Elemental-Technologies公司、MotionDSP公司以及LoiLo公司的產品。

在科研界,CUDA一直受到熱捧。例如,CUDA現已能夠對AMBER進行加速。AMBER是一款分子動力學模擬程序,全世界在學術界與製藥企業中有超過60,000名研究人員,使用該程序來加速新藥的探索工作。

AI芯天下丨英伟达CUDA在深度学习中扮演着什么角色

CUDA是一個新的基礎架構,這個架構可以使用GPU,來解決商業、工業以及科學方面的複雜運算問題。它是一個完整的GPGPU解決方案,提供了硬體的直接訪問介面,而不必像傳統方式一樣,必須依賴圖形API介面,來實現GPU的訪問。

在架構上採用了一種,全新的運算體系結構,來使用GPU提供的硬體資源,從而給大規模的數據運算應用,提供了一種比CPU更加強大的計算能力。

CUDA採用C語言,作為編程語言,提供大量的高性能運算指令開發能力,使開發者能夠在GPU的強大運算能力的基礎上,建立起一種效率更高的密集數據運算解決方案。

發展現況
支持CUDA的GPU銷量已逾1億,數以千計的軟體開發人員,正在使用免費的CUDA軟體開發工具,來解決各種專業,以及家用應用程序中的問題。這些應用程序,從視訊與音訊處理和物理效果,模擬到石油天然氣勘探、產品設計、醫學成像,以及科學研究,涵蓋了各個領域。

CUDA 的核心有三個重要抽象概念: 線程組層次結構、共享儲存器、屏蔽同步,可輕鬆將其作為C語言的最小擴展級,公開給程序員。

AI芯天下丨英伟达CUDA在深度学习中扮演着什么角色

CUDA 軟體堆棧由幾層組成,一個硬體驅動程序,一個應用程序編程介面(API)和它的Runtime,還有二個高級的通用數學庫,CUFFT 和CUBLAS。硬體被設計成,支援輕量級的驅動和Runtime 層面,因而提高性能。

所支持的OS(operating system)
CUDA目前支持linux和Windows操作系統。進行CUDA開發,需要依次安裝驅動、Toolkit、SDK三個軟體。在安裝目錄/C/src目錄下<有很多的例程可以進行學習。

AI芯天下丨英伟达CUDA在深度学习中扮演着什么角色

NVIDIA進軍高性能計算領域,推出了Tesla&CUDA高性能運算系列解決方案,CUDA技術,一種基於NVIDIA圖形處理器(GPU)上,全新的並行運算體系架構,讓科學家、工程師和其他專業技術人員,能夠解決以前無法解決的問題,作為一個專用高性能GPU運算解決方案,NVIDIA把超級運算,能夠帶給任何工作站或伺服器,以及標準、基於CPU的伺服器集群。

CUDA是用於GPU運算的開發環境,它是一個全新的軟硬體架構,可以將GPU視為一個,並行數據計算的設備,對所進行的運算進行分配和管理。

在CUDA的架構中,這些運算不再像過去,所謂的 GPU架構那樣,必須將運算映射到圖形API(OpenGL和Direct 3D)中,因此對於開發者來說,CUDA的開發門檻大大降低了。

CUDA的GPU編程語言,是基於標準的C語言,因此任何有C語言基礎的用戶,都很容易地開發CUDA的應用程序。

由於GPU的特點,是處理密集型數據和並行數據運算,因此CUDA非常適合需要大規模並行運算的領域。目前CUDA除了可以用C語言開發,也已經提供FORTRAN的應用介面,未來可以預計CUDA會支持C++、Java、Python等各類語言。

可廣泛的應用在圖形動畫、科學計算、地質、生物、物理模擬等領域。2008年NVIDIA推出CUDA SDK2.0版本,大幅提升了CUDA的使用範圍。使得CUDA技術愈發成熟。

AI芯天下丨英伟达CUDA在深度学习中扮演着什么角色

結尾
從最初發現GPU在深度學習運算方面的潛力,到如今幾乎「無GPU不深度學習」的行業現狀,英偉達毅然向人工智慧轉型,投入大量資源用以研發,不斷推陳出新,極大地推動了GPU在人工智慧運算的應用,同時更推動了人工智慧行業的發展。說一句「深度學習計算≈英偉達」不算過分吧。

1 則留言: