英偉達為什麼這麼紅: 說說GPU計算背後的故事

對於人工智慧應用程序的興奮情緒, 讓已經24歲的英偉達成為科技界最熱門的企業之一, 股價直線飆升, 過去兩年內漲幅超過七倍, 達到1000億美元, 最近一個季度的收入暴增了56%.

勢如破竹的背後, 你或許會好奇, 曾經一個只是負責在屏幕上繪製映像的 '圖形處理單元' , 如今為何能夠肩負起解決複雜計算問題的重任? GPU全面崛起, 英偉達的答案很明確, 一個有 '強迫症' 的老闆和十多年前的一次關鍵押注.

皮衣霸道總裁的 '強迫症'

這家強勢增長的公司背後的掌舵者是創始人兼CEO黃仁勳 (Jen-Hsun Huang) . 他擁有敏銳的戰略直覺, 個性出了名的嚴苛, 常常穿深色的衣服, 因此有人拿他來跟蘋果已故CEO史蒂夫·喬布斯 (Steve Jobs) 比較. (跟喬布斯一樣, 黃仁勳也提出給公司打造富有吸引力的新總部大樓. 該公司不久之後便將進駐新總部)

創始人兼CEO 黃仁勳

黃仁勳今年已經54歲, 總是一身全黑, 還經常披件皮外套, 在辦公室裡走路風風火火, 員工一般很難跟上他的步伐. 他出生在台灣, 從小和家人一起生活在美國. 青少年時期他特別喜歡打乒乓球, 後來還成了當地聞名的頂尖快攻球員. Paddle Palace乒乓球公司的CEO也說, '他行動敏捷, 打球流暢且有力量, 要不是從商了, 本來或許可以成為全國頂尖的乒乓球運動員. '

從斯坦福畢業後, 第二年他就開始學習電子工程專業知識, 與前Sun Microsystems工程師Chris Malachowsky和Curtis Priem共同建立了顯卡製造公司英偉達.

不久, 英偉達迅速在市場上辟出了一席之地. 經過與47家顯卡生產商的激烈爭奪後於1999年上市, 而其他公司要不就是被收購了, 要不就是倒閉了, 只留下AMD還在和英偉達兩強相爭.

為了存活下來, 黃仁勳告誡員工必須保持專註. 他總是說如果不努力, 公司可能一個月內就會破產, 這讓每個員工都感受到了壓迫和緊張感.

黃仁勳的競爭 '強迫症' 還反映在他總是向員工宣布好消息上. 1997年的一次全體大會上, 他向全體員工宣布英偉達銀行留存資金100萬美元左右. 同時, 公司已經將晶片RIVA 128投入量產. 這種消息總是搞得員工的心情十分忐忑. 接著他從自己口袋裡拿出一張紙, 向大家解釋這是STB系統下的3000萬美元顯卡訂單. 那是英偉達第一次接到這麼大筆單子, 也標誌著英偉達顯卡晶片已經成功開啟了HP和DELL這類計算機製造商的市場, 當時公司上下一片歡呼.

1998年, 英偉達首次補上了季度利潤不足, 當時黃仁勳還在辦公室給70個員工每人都發了一張1美元鈔票慶祝.

黃仁勳的 '強迫症' 還是非常有效的. 上市前後, 英偉達經過了多次 '瀕死' 體驗. 每次將晶片發給計算機製造商, 員工總是面臨不立即行動會死人的截止期限. 有時在台灣生產的晶片被檢測出來有問題, 寧願損失一大筆錢也要全部回收殘次品.

黃仁勳的危機管理能力為他贏得了員工的敬重. 1998年, 英特爾推出了一款與英偉達競爭的顯卡, 黃仁勳組織了一系列全體會議, 指示員工寫出能提高玩遊戲時的顯卡性能的軟體. 後來還是保住了競爭優勢. 英特爾製造的威脅在英偉達看來其實從未實現.

同年, Silicon Graphics起訴英偉達專利侵權. 黃仁勳再次迅速掌控了有利局勢, 兩家公司最終同意授權對方專利. SGI後來還讓英偉達成為了自家計算機系統顯卡晶片的優先選擇. 黃仁勳的努力也幫助英偉達在首輪融資中吸引了眾多潛在投資者.

黃仁勳已經證明了他的 '能屈能伸' . 公司建立以來的24年時間裡, 英偉達數次面臨生存困境, 包括新晶片出問題, 和競爭對手打官司等, 黃仁勳都帶領員工渡過了危機.

在施工中的英偉達聖克拉拉新總部

多年來, 為了讓英偉達拓展新的市場領域, 黃仁勳一直都會事先做好風險預估工作. 就在10多年前, 他下了一次關鍵性的賭注: 押注一系列的改動和軟體開發, 來使得GPU能夠處理在電腦屏幕上繪畫以外的, 更為複雜的任務.

然而, '此舉給公司帶來了極大的成本壓力. ' 黃仁勳說. 他估計, 該名為CUDA (統一計算設備架構) 的項目每年需要花費5億美元, 而當時公司的總營收規模在30億美元左右. 自從CUDA推出以來, 英偉達所有的支出都圍繞著將GPU轉化為更為通用計算工具, 總額接近100億美元.

實習生項目 'CUDA' 拯救GPU帝國

如此執拗的霸道總裁真懷疑他是 '處女座' . 不過, CUDA取得今天所有成績, 除了黃仁勳的堅持, 還有一個人功不可沒, 他就是伊恩·布克 (Ian Buck) , 現任英偉達 GPU 計算軟體總經理.

Ian Buck於2004年加盟英偉達並創造了CUDA

Ian Buck對於GPU計算的研究最早起始於2000年. 當時, Buck及其在斯坦福大學的一個小團隊敏銳觀察到了圖形處理器在性能方面的優勢和發展趨勢. 他表示, 將GPU用於通用計算的想法是從GPU支援可編程開始的.

在最初幾年, 他們遇到了非常大的困難. 儘管初步試驗可以證實GPU用於通用計算的巨大潛力, 推廣這個想法卻十分不易. 終於在2003年, 由Ian Buck領導的研究團隊發布了Brook, 這是第一個廣泛採用的使用數據並行架構擴展C的編程模型. 同時, Brook也是 GPU 通用計算方面先驅項目.

英偉達 GPU 計算軟體總經理 Ian Buck (最右)

2004年, 斯坦福大學博士生Ian Buck進入英偉達實習, 開始集合相關的硬體和軟體工程師創造GPGPU模型, 這是CUDA研發的開端. 當時, Buck曾參與一項涉及簡化利用GPU的眾多計算引擎過程的編程挑戰賽.

不久後, 英偉達便對它的晶片作出改動, 開發出軟體輔助工具, 其中包括支援標準的編程語言, 而非用於向圖形晶片發出指令的神秘工具. 在Ian Buck率領下, 於2006年正式推出——CUDA, 這是全球首款GPU上的通用計算解決方案.

CUDA是由英偉達開發的用於圖形處理單元 (GPU) 上的通用計算的並行計算平台和編程模型. 利用CUDA, 開發人員可以通過利用GPU的功能大大加快計算應用. 事實上, 在英偉達內部, CUDA是作為所有GPU系列的通用平台.

英偉達Tesla P100的性能表現

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

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

Buck表示, 看起來這些線程的管理是一件十分複雜的事情. 但實際上, 編程人員主要的困難在於如何發揮這些線程的優勢, 而不是管理這些線程. 早期, CUDA的性能主要依賴編程人員人工發現代碼中可並行計算的部分.

目前, 隨著CUDA庫的發展, 這方面的工作開始越來越自動化. CUDA團隊已經開發了很多石油, 天然氣和國防等相關產業所使用的科學計算方面的庫. 最終, 2012年發布的Titan超級計算機使用了18688個英偉達Tesla K20 GPU作為協處理器, 標誌著GPGPU在高性能計算方面的成功推廣和應用. 從2011年開始, Top 500的超級計算機中至少有50台會使用GPU進行加速. 而這些機器基本上也都出現在Green 500 (全球節能超級計算機榜單) 的列表中.

英偉達AI '殺傷性武器' CUDA平台瓜熟蒂落

CUDA開始受到越來越多的關注, CUDA的應用也 '百花齊放' . 但Buck表示, 其中最讓其影響深刻的就是, 乳腺癌檢測和診斷的系統. 與傳統方法相比, 採用支援CUDA編程的Tesla GPU後, 醫生能夠更早, 更精確地發現乳腺癌. 而美國國家癌症研究所數據顯示, 基於CUDA的系統在運行蛋白質配體運算 (用於研發治療癌症和老年癡呆症的新藥) 時只需要原來1/12的時間.

英偉達的新圖形晶片Volta, 據估計開發成本高達30億美元

Buck還介紹說, 他之前和來自很多工業界的人士交流發現, 他們寧願犧牲性能, 也不願接受一門新的語言. 為了能夠給相關編程人員提供很好的入門體驗, 從而便於CUDA的推廣, CUDA採用了已經流行的C語言作為基礎.

這樣, 編程人員就不需要去學習特定的顯示晶片的指令或是特殊的結構, 即可編寫GPU上運行的程序, 這毫無疑問促進了CUDA在程序員之間的流行.

英偉達加州聖克拉拉園區裡的演示室

此外, 英偉達當年做出的一個決定也極為關鍵. 現在已是負責針對 GPU 計算的所有工程, 第三方支援以及開發者營銷活動的 lan Buck 回憶說, 英偉達讓自家消費級GPU和高端產品都支援CUDA. 這就意味著只要研究人員, 學生有筆記型電腦或者台式機, 就能在學校實驗室和宿舍裡開發軟體.

英偉達還說服了許多大學開設課程, 教學生用他們公司的最新編程技術. 程序員們逐漸把GPU應用於氣候建模, 勘探石油和天然氣等很多領域.

Buck表示, CUDA在超級計算領域的成功應用也迎來了很好的使用反饋. 目前, Buck在英偉達的團隊就根據用戶反饋開始探索GPU記憶體的管理方式. CUDA6就推出了一個新的軟體記憶體管理特性, 支援數據在CPU記憶體和GPU記憶體之間的自動轉移. 計劃於2016年面世的英偉達 Pascal GPU 架構則將配備 NVLink, 使 GPU 和 CPU 之間的數據傳輸速度較現有的 PCI-Express 標準加快5至12倍.

此外, 為了進一步減少編程工作, Cray, PGI以及英偉達等領先的HPC供應商在2011年推出了OpenACC編程標準. 該標準定義了一組標準化的, 高層次的代碼注釋, 使C/C++和Fortran編程人員可以利用GPU加速代碼運行. 英偉達在2015年7月更是發布了全新OpenACC免費工具套件, 讓相關研究人員能夠更多的關注科學本身. Buck也一再強調, OpenACC的初衷就是讓用戶 '首先是個科學家, 然後才是一個程序員' .

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

Buck表示, 在此之前, 要通過程序員制定的規則訓練系統在數百萬映像中識別出一張面孔, 需要耗費整整一個學期, 而通過GPU, 研究人員在短短几周, 幾天甚至幾個小時之內就能完成訓練過程.

GTC CHINA 2017現場

這一幕, 在不久前的GTC CHINA 2017大會上, 黃仁勳便用 TensorRT (一款適用於CUDA GPU的優化神經網路編譯器 ) 進行了演示, 搭配 Tesla V100 GPU 加速器的 TensorRT 每秒能夠識別多達 5700 張圖片, 而如今所用的 CPU 則每秒僅能識別 140 張圖片.

企業數據中心是黃仁勳慧眼預見到的另一CUDA應用領域. 目前, Tesla V100 AI 平台目前已經被諸多包括BAT, 華為, 浪潮, 聯想在內的中國領軍IT企業採用, 用以升級自身數據中心與雲服務基礎設施.

不過, 黃仁勳下的賭注也不是次次都能獲得回報. Tegra晶片本來是為智能手機和平板電腦研發, 但在這兩個市場並未奏效, 後來只能轉移戰略目標.

現在, 這位霸道總裁又將目光轉向了汽車製造行業.

<来源: The Information/The New York Times;编译整理: 科技行者>

2016 GoodChinaBrand | ICP: 12011751 | China Exports