• 摘要:本文將介紹GPU在工作站以及高性能計算方面所取得的成就。除了新技術為傳統PC應用所帶來的新體驗,其在高性能計算領域的應用則讓很多與會者大開眼界。NVIDIA為什麼能夠在高性能計算領域獲得成功?筆者認為,這其中有三方面的因素影響。
• 標籤:NVIDIA 高性能計算 GPU
本文將介紹GPU在工作站以及高性能計算方面所取得的成就。除了新技術為傳統PC應用所帶來的新體驗,其在高性能計算領域的應用則讓很多與會者大開眼界。NVIDIA為什麼能夠在高性能計算領域獲得成功?筆者認為,這其中有三方面的因素影響。
首先,在高性能計算領域,功耗已經成為了限制行業繼續發展的一大阻礙。由於普通CPU在線程以及核心數量上與GPU存在著巨大的差距,因此,如果單純依靠CPU,超算性能的提升將在很大程度上受限於能源成本以及功率限制。
根據之前浪潮集團高級副總裁王恩東的表述,在高性能計算從千萬億次向百億億次前進的過程中,性能需要提升1000倍,但以現在的技術水平來說,功耗最高只能提升三倍。否則按照現在的功耗水平來計算的話,一臺百億億次計算機需要一座核電站才能滿足其功率需求。
因此,高性能計算在今後一段時間內的發展將主要依靠提高並行化水平和效率來完成。而NVIDIA所生產的GPGPU的優勢就在於大量核心以及高度並行化的處理架構。這也正是以NVIDIA所代表的GPGPU產品能夠在超算行業產生大量應用的原因。
其次,有了GPGPU模式,為什麼只有NVIDIA成功?
但羅馬不是一天建成的。我們都知道,軟體是應用的核心;沒有軟體,再強悍的硬體和架構都沒法發揮自身的優勢,從而變成一堆廢鐵。這句話每個人都知道,但很少有人再繼續追問,軟體的核心又是什麼。可以說GPGPU(通用GPU)能夠擁有今天這番局面在很大程度上,與NVIDIA發現了什麼是「軟體的核心」有關。
一種新的硬體和架構能夠流行起來,其本身具備的性能和優勢僅僅是一方面,更重要的是有眾多的開發者為其源源不斷的提供應用程式來支持。iOS和Android的流行就是這一理論最好的證明。
數年前,NVIDIA和競爭對手在同一時間推出了具備通用計算能力的GPU,也就是我們所說的GPGPU。但不同的是NVIDIA的GPU所採用的編程環境是封閉的,而競爭對手所採用的編程環境是基於OpenCL的開放環境。在當時,很多評論認為對於一個新生事物來說,開放的策略會吸引更多的合作者,因此在競爭中更有優勢。
但實際的情況並非如此。在產品發布之後的數年中,NVIDIA與全球知名的教育機構展開了廣泛的合作,並派駐工程師和研發人員來到學校中現場教授針對NVIDIA產品的編程方法和技巧,使得一時間,相關方面的軟體開發人才儲備迅速增加。而NVIDIA所選擇的這些教育機構就包括了我們所熟知的清華和北大。
當然,與教育機構的合作僅僅是解決了應用開發的人才儲備問題,現實的問題同樣需要解決。NVIDIA通過派駐工程師和指導開發等形式,與眾多軟體廠商建立起了長期的合作關係,使得眾多軟體都可以為NVIDIA GPU提供額外的加速特性,而更高的軟體性能同樣是提升軟體用戶體驗的重要體現。通過這種雙贏的合作,NVIDIA很快打開了局面,並在一定程度上建立了自己的軟硬體合作聯盟。
而反觀競爭對手,由於缺乏廠商的主導以及商業同盟,儘管採取了開放的開發環境,但無論是民用領域還是企業、科研領域,其上的應用軟體都很少,開發人才更是難覓蹤影。
在實際的GPGPU應用當中,國家超級計算天津中新是目前NVIDIA對外宣傳的形象工程。由於該中心所擁有的天河1A是2010年世界排名第一,目前排名第二的大型超級計算機,並且大量採用了NVIDIA Tesla系列GPGPU作為專用浮點處理器。根據超級計算天津中心的孟博士在GTC大會現場的介紹,目前,該中心已經有合作單位200多家,其中正式籤訂合同的用戶為80多家。而這也就意味著這80多家單位都需要根據自己應用的需求和特點編寫相應的計算軟體,並且需要在保證安全的同時注意提升效率。
能夠有如此多的相關行業應用,對我國超算行業以及NVIDIA來說都是一個很好的現象。對並行計算軟體編程的重視,不僅是對自家產品最好的售後服務,更是提升產品生命周期的最好方式。根據2011年11月的統計,全球超算500強中採用GPGPU進行浮點運算的系統共有37套,其中NVIDIA產品佔領了其中的35套,相對於2011年6月的超算排行榜來說,NVIDIA成長率接近200%。能夠有這樣的增長率,與NVIDIA相關產品的軟體編程環境趨近成熟也有很大的關係。
憑藉NVIDIA產品本身的優勢以及在軟體編程方面持續不斷的投入,NVIDIA終於逐漸成為高性能計算異構架構的代表。而其所帶來的性能和功耗優勢也必定會在未來成為更多高性能計算項目所選擇的對象。在消費級領域中到處碰壁的NVIDIA也終於找到了自己的突破口。