沒有英偉達CUDA,深度學習的發展將延遲?

半導體行業觀察發表於2019-03-29
在早前舉辦的英偉達GTC大會上,英偉達方面表示,如果沒有CUDA,深度學習的發展將會延遲。

誠然,這樣的結果,也許讓NVIDIA覺得意外,但並不會覺得陌生,因為在2007年,NVIDIA推動CUDA架構(Compute Unified Device Architecture,計算統一裝置架構)時,也是個瘋狂激進與走在「未來」的產品。

GPU的強項在於圖形繪製,若想要用GPU做非圖形,如科學運算或一般型別運算,複雜麻煩又沒效率,而NVIDIA的CUDA讓GPU做圖形以外的運算變得簡單容易。

所謂CUDA 是 NVIDIA 創造的一個平行計算平臺和程式設計模型。它利用圖形處理器 (GPU) 能力,實現計算效能的顯著提高。藉助目前已售出的數百萬支援 CUDA 的 GPU,軟體開發人員、科學家和研 究人員正在各種各樣的應用程式中使用 GPU 加速計算。

在GPU加速的應用程式中,工作負載的順序部分在CPU上執行,針對單執行緒效能進行了優化,而應用程式的計算密集型部分則並行執行在數千個GPU核心上。使用CUDA時,開發人員使用C,C ++,Fortran,Python和MATLAB等流行語言進行程式設計,並以幾個基本關鍵字的形式通過擴充套件表達並行性。CUDA工具包包括GPU加速庫,編譯器,開發工具和CUDA執行時。

CUDA的核心設計理念就是計算機中的執行緒。與傳統CPU中的4、8和16個執行緒不同,GPU中的執行緒可以多達幾萬個。

「CUDA可以運作在NVIDIA GeForce 8系列之後的GPU上,GPGPU也算是一種平價的高效能運算方式,它把桌上型電腦變成一臺個人的超級電腦(personal supercomputer in a desktop)。」《GPU高效能運算環境—CUDA與GPU Cluster介紹》一文中強調。

這是個偉大的創新,但在當時NVIDIA的主要客戶還沒有高速運算需求的電腦遊戲或美術設計業者,但NVIDIA挺而走險,堅持要做到大規模普及,因此在GeForce 8系列後「每一款」GPU都支援CUDA。

「即便是今天回想起來,這仍然是一個風險極高、形同瘋狂的決定。這意味著面對這些尚沒有高效能運算需求的傳統客戶,NVIDIA都必須在硬體產品的設計中增加相關的CUDA邏輯電路,這使得晶片面積增大、散熱增加、成本上升、故障機率增加;同時,對於每一款產品,相關的軟體驅動都必須保障對CUDA的完美支援。」中國AI公司格靈深瞳執行長趙勇撰文指出。

2007年NVIDIA正式把CUDA引進產品中,當時AI還處於第二次寒冰期。由深度學習教父辛頓(Geoffrey Hinton)執筆的深度學習技術重要文獻《Deep Belief Networks》在2006年才剛發表,距離2012年至2013年AI應用大爆發時期還有六年至七年時間。

CUDA與GPU硬體本身緊密的結合,推升現在的GPU加速浪潮,讓AI走出實驗室走入企業。CUDA是深度學習發展的加速劑,讓深度學習的計算速度倍增。 

CUDA讓NVIDIA的GPU生態圈迅速成型,而CUDA也幫NVIDIA築起一道堅固護城河。「如果沒有NVIDIA的CUDA,科學界證實深度學習巨大潛力的時間不知道還要推遲多久。」趙勇強調。NVIDIA也因此收穫甜美的果實,股價在2016年年初的20元至30元開始漲至2018年中的270元至280元。 

英偉達花了好幾年才讓CUDA牽住了客戶,不過CUDA也幫英偉達在高效能運算市場索回了相應的回報。2012年,CUDA和GPU與深度學習神經網路結合在一起,震驚了學術界。 當時,加拿大多倫多大學的Geoffrey Hinton帶著兩個學生,用GPU訓練深度神經網路拿下了ImageNet影像識別大賽的冠軍,然後開啟了深度學習的黃金時代。

*文章內容系作者個人觀點,不代表半導體行業觀察對觀點贊同或支援。

相關文章