Zi 字媒體
2017-07-25T20:27:27+00:00
一直以來,AMD給我們的印象就是其產品相對對手英特爾、NVIDIA而言較為廉價,還有就是它的PPT一向作風高調,而等到實際產品時卻給用戶很大的落差。同時由於它的CPU性能顯著落後於英特爾,而且在近十年的漫長時光里毫無追趕的起色;GPU領域也是長時間落後於NVIDIA,難於翻身,所以在業界就有許多人將AMD戲稱為「萬年老二」。而最近,在CPU領域,我們看到了AMD的強勢崛起,代號為「Zen」的銳龍Ryzen系列處理器如期上市,強悍的性能已經可以和英特爾分挺抗禮,而更低的功耗、顯著的價格優勢以及強大的後續潛力,感覺都會讓英特爾有點措手不及。AMD可謂是打了一個翻身仗,重新回到了微處理器的一線,揚眉吐氣了一把。2017年,AMD也將在圖形領域發力,代號為「Vega(織女星)」的新一代GPU架構即將降臨,同樣給圖形市場帶來較大的懸念。Vega架構的前世今生雖然頂級GPU價格昂貴,用戶不多,但NVIDIA和AMD都競相追逐「性能王座」的光環。比如,NVIDIA在大晶元、高性能的方向上一路到黑——原因很簡單,高性能具有指標性意義,用戶並不會對技術了解太多、也大多不會綜合考慮,通常會簡單地選擇性能最強的一家,因為這麼做肯定不會出錯。在前面的幾年,AMD一度以多晶元、注重性價比的方式為產品哲學,但事實是它的市場份額一路下跌,在2015年三季度,它在獨立圖形市場的佔有率慘跌到只有20%,出現NVIDIA一家獨大,AMD瀕臨出局的局面。在這一階段,AMD境況糟糕,幸虧它接連拿下索尼、微軟、任天堂三家遊戲主機的圖形晶元定製業務,這更多是有賴於靈活的方案定製和性價比優勢,而NVIDIA則放棄了這個市場,它走向更廣闊的通用計算領域,並成為挑戰英特爾的重要力量。另一方面,AMD與微軟和業界建立了良好的關係,與英偉達封閉的方案不同,AMD倡導建立起開放性的OpenCL通用加速方案,並獲得業界的廣泛支持,它所欠缺的是,是一款能夠具有與對手頂級產品匹敵的利器。痛定思痛,AMD決意在新一代架構中另起爐灶,重新回到高性能的正確軌道上來,只是這個旅程並不順利。早在2014年末,AMD在一些內部會議中就透露在開發一款名為「格陵蘭(Greenland)」的新一代GPU架構,這款晶元將採用14納米,TDP熱設計功耗在250W級別,而它的每瓦性能達到Hawii(夏威夷,Radeon R9 290 系列)的兩倍以上!不過在後來,我們並沒有看到格陵蘭的消息。當年底AMD帶來的是代號為「Tonga(湯加)」的新核心,內核架構從夏威夷的GCN 1.1提升到GCN 1.2版,但這也只是小幅度的改良,並沒有涉及架構的深度改變,很多用戶就將「湯加」理解為「夏威夷」的換名馬甲版。2015年末,AMD推出代號為Fiji(斐濟)的核心,它的內核依然是「湯加」,只是改用HBM1高帶寬顯存、減小了體積,內核架構提升到GCN 1.2+,但性能依然提升不大,且功耗較大的毛病並沒有克服。直到2016年中,AMD接著推出持續改良的「Polaris」架構,而這時DirectX 12開始在新一代遊戲中獲得應用,Polaris的良好支持讓它在新遊戲中增色不少,也得益於此,AMD在圖形市場的份額才小幅度提升到接近30%左右。而在這期間,NVIDIA先後憑藉Maxwell(麥克斯韋,2014年)、Pascal(帕斯卡,2016年)架構不僅佔領了性能王座,更是憑藉良好的性能功耗優勢、通用計算性能以及強勢的整體營銷,獲得市場的絕對主導權。第一,毫無疑問就是相對孱弱的架構性能。比如Polaris架構的RX480處理器,像素渲染速度只有35.8GPixl/s,而同期NVIDIA基於「帕斯卡」的GTX1060處理器比它快了一倍、渲染速度高達72.3GPix/s。在如此巨大的性能差異面前,AMD自然無力推出能夠與NVIDIA抗衡的旗艦產品,退出了對顯卡性能風向標的角逐,用戶的選擇天平不可避免朝向NVIDIA傾斜;第二,GPU功耗的偏高、每瓦性能指標偏低,即便Polaris改用格羅方德(GF)的14納米工藝,功耗表現也並沒有提高多少。顯然,這主要是Polaris架構、或者說AMD GCN顯卡架構存在的根本問題—我們很容易聯想到,AMD在CPU架構上也是同樣的表現。既然如此,AMD要想在圖形市場打一場翻身仗,除了推出下一代高性能的微架構與英偉達硬碰硬以外,沒有別的捷徑好走。而它接下來要推出的,代號為Vega的能否承擔這樣的使命,給外界留下了很大的懸念。Vega架構的四大特點Vega架構是拉加·庫德里(Raja Koduri)回爐AMD的首期之作。拉加·庫德的職業生涯始於大名鼎鼎的S3 Graphics,後來進入ATI公司並成為圖形技術的領軍者之一。2009年AMD併購ATI,給業界帶來很大的波動,拉加·庫德里此時擔任圖形業務的首席技術官,不過併購不久就被喬布斯挖走、為蘋果公司研發新一代圖形處理器。不過在2013年4月,他重新又回到了AMD、重新執掌圖形技術部門,負責新一代產品的開發—值得一提的是,AMD現時大火的Ryzen處理器架構,主導者也是從蘋果重新回爐的Jim Keller,而當年他是K7和K8架構的架構設計者,一手打造了AMD處理器的輝煌時代(遺憾的是,Jim Keller已於2015年9月從AMD二度離職)。拉加·庫德里回到AMD之後,被任命為視覺計算企業副總裁(Corporate Vice President of Visual Computing),同時負責GPU的硬體開發以及軟體平台設計。之後的Fijii、Polaris兩代改良架構都是在他的領導下進行,我們也得見此後AMD的圖形業務緩慢回升,縮小了與對手的差距—但GCN架構使然,難以有根本性的改觀。因此,新一代的Vega架構讓外界報以很高的期望。▲Vega GPU的邏輯架構示意在今年一月份的CES展會上,AMD對外披露了Vega的部分技術細節,雖然關鍵的性能指標還不得而知,但我們還是可以從下列資料中可以看出Vega所具有的巨大潛力。而總結起來,Vega將有以下四大技術要點,分別是:革命性的存儲架構、更靈活的幾何渲染、高級像素引擎以及NCU下一代計算單元。革命性的存儲架構:HBM2+ HBCCFiji架構中引入的HBM(高帶寬)顯存是AMD的獨門絕技,在2015年這項技術引入時確實引起業界的矚目。HBM架構將顯存的管芯(DIE)與GPU的DIE集成在同一個基片上,等於圖形處理器本身就集成了顯存,這樣,顯卡的PCB板上就沒有傳統的顯存,只需要供電電路和輸出介面元器件,顯卡的尺寸可以變得非常之小—相當於筆記本顯卡模塊的尺寸,作為當時的高端顯卡,Fiji的高集成度和小尺寸因此給人留下深刻印象。再者,HBM的顯存以3D堆疊的方式封裝在一起,單枚晶元的傳輸位寬可以達到1024bit,相當於GDDR5的32倍之多!我們知道,傳輸帶寬等於位寬乘以頻率,HBM具有高位寬的優勢,顯存的頻率就可以大大降低,在Fiji中它的頻率只有1GHz,每個顯存堆棧的帶寬突破100GB/s,比GDDR5的傳統方案高出數倍!▲AMD Vega GPU與HBM2顯存▲AMD現有Radeon R9 GPU與HBM顯存由於顯存晶元的工作頻率低,第一代HBM僅需要1.3V電壓、低於GDDR5的1.5V,而它的每瓦特傳輸性能達到35GB/s,也比GDDR5的10GB/s快出3.5倍之多!不過第一代HBM存在顯存容量低的問題,旗艦顯卡Radeon Fury X也只能提供4GB容量,在應付大型遊戲時這點顯存顯然是杯水車薪。而這次Vega架構引入了升級的第二代HBM方案,在繼承高性能、低功耗、高集成度的同時,將顯存容量提升到8GB和16GB多個規格,消除了容量不足的瓶頸。同時,HBM2 的帶寬達到HBM1的兩倍,可以實現256GB/s 或512GB/s的超高傳輸性能。▲HBM2堆疊內存方案可以獲得顯著的容量、空間優勢如果說HBM2隻是尋常的改良升級,Vega存儲架構的真正革命之處在於,它對顯存控制器進行全新的設計,並稱為HBCC(高帶寬高速緩存控制器)。HBCC除了連接前面說的HBM2集成顯存外,還可以連接顯卡PCB上放置的SSD、網路存儲等多種形式的基片外存儲部件,而它的定址能力高達512TB!開發者可以像使用顯存一樣直接使用這些部件,而HBM2顯存此時則作為GPU與外部存儲單元的高速緩存來使用—我們稍稍轉變一下思路,將Vega GPU視作是傳統的CPU,顯存就是內存,外部存儲就是硬碟,很簡單就會得出結論:基於Vega的計算卡不只是顯卡、同時還是一部獨立的計算機,這顯然是為通用計算和認知計算所準備。▲Vega GPU的高速緩存控制器示意幾何渲染引擎:更靈活、更快速幾何計算是3D渲染的基礎,在AMD的GPU中,幾何渲染還是由固定的幾何著色引擎來完成。專屬硬體的優點是運行效率高、速度快,缺點是硬體處理缺乏靈活性,每一次幾何計算都必須機械化地執行,而很難進行優化。我們舉一個例子,右邊兩張圖片分別是PC遊戲《殺出重圍:人類分裂》中的巨像之城(Golem City)的場景和該場景的幾何線框圖。AMD介紹說,這幅場景有多達2.2億個多邊形需要進行計算,但最終輸出的畫面其實只有 0.02 億個多邊形,也就是大多數的多邊形,其實都是後台計算、不需要被顯示出來,但它們耗費了超過98%的計算資源。▲《殺出重圍:人類分裂》遊戲中的場景▲《殺出重圍:人類分裂》遊戲場景對應的幾何線框圖有鑒於此,越來越多的開發者拋棄了傳統的幾何單元,改用靈活的計算著色器來進行幾何處理—通過對演算法的優化,可以將大量的中間計算省略,達到節省硬體資源、提高遊戲性能的目的。AMD在Vega架構中,也引入了這套機制——Vega GPU的幾何流水線中新增了名為 Primitive Shader(圖元著色器)的新型計算單元,這個新的著色器可以捨棄大量的無效幾何計算,從而精簡、快速地完成任務。AMD的最終目標是徹底拋棄傳統的幾何單元、以這套靈活的著色器來代替它。此外,為了持續提升幾何處理性能,AMD還引入了名為「Intelligent Workgroup Dostributor(智能工作組分發器)」的計算單元,它可以支持更多的著色器引擎,並且可以根據負載情況智能地在各引擎間分配幾何計算任務。而當前AMD的GCN架構最多只支持4個幾何著色引擎,沒有增強的潛力。而即便在同樣4個著色引擎的情況下,Vega GPU每周期也能處理11個多邊形、相當於現有產品的兩倍。▲Vega中的智能工作組分發器,允許支持更多的幾何引擎。▲Vega的幾何效率提升了兩倍下一代像素引擎Vega的像素著色引擎同樣進行大量的優化,AMD將它稱為Draw-streaming binning rasterizer(簡稱 DSBR,渲染流分倉光柵器)。DSBR引擎在執行效率上獲得質的飛躍,我們知道,複雜的3D畫面,需要進行大量的渲染,而其中絕大多數的工作都是位於後台,真正展現出最終畫面的有效渲染只佔據極小的部分—這與我們前面說的幾何渲染類似。之前AMD GPU對此並沒有很好的優化,都是直接進入到渲染環節。而DSBR引擎則對工作流程作了優化:它會先在一個高速緩存中對3D場景給定的對象預先處理,然後GPU清空掉這個緩存、再拾取起其餘的數據。而DSBR就可以讓GPU抓取出有效渲染和非可視像素的無效渲染,並將無效的渲染操作省略掉,只專註於可視部分的像素渲染。▲DSBR引擎同樣通過優化、顯著提升執行效率換言之,DSBR並不直接提升硬體的能力,而是通過削減無效渲染、減輕硬體負擔,同樣達到提升像素渲染性能的效果。這套機制同時也意味著,節省功耗、降低發熱量,具備更高的性能提升潛力。為配合DSBR的運作,AMD對Vega的緩存架構進行重大改進,GPU的後端單元可以直接訪問到片上的二級高速緩存,數據的訪問、操作動作直接在此實現。而傳統的GPU中,紋理和像素的內存讀取操作並不一致,比如渲染紋理操作時,數據要先寫到顯存中、然後再被讀取到紋理緩存里,也就是每一次數據都要來回搬動、效率低下。而如果開發者要執行紋理、像素同步渲染時,程序指令與硬體工作流程就會出現衝突,增加了編程的難度。顯然,Vega的改進要渲染流程簡單了許多,大量的數據訪問都可以在片內二級緩存高效率地完成,對性能的增益顯而易見。▲Vega的後端渲染單元可直接訪問二級緩存不過,DSBR只是Vega像素渲染的一個可選項,實際的任務還是根據遊戲的情況來完成,有的遊戲還是對傳統架構進行編程,那DSBR暫時還無用武之地。但對支持該特性的新遊戲而言,DSBR可以帶來顯著的效能提升。NCU:下一代計算單元,為深度學習優化 單精度和雙精度計算應用於3D渲染領域,但諸如深度學習等計算任務並不需要用到,它們只需16位半精度浮點計算操作就行。AMD現有的 Fiji和Polaris GPU中沒有考慮到這一點,它的半精度性能與32位單精度性能是一樣的,而半精度計算需要的寄存器資源卻少得多,也就是說AMD沒有對此作優化。與之相比,英偉達的Tesla 100加速卡,半精度性能就達到雙精度的兩倍,這讓它在通用計算中佔據性能優勢。為此,Vega GPU中首度引入了名為「Packed(緊縮)」的半精度計算支持,Vega的微架構被稱為「NCU(下一代計算單元)」,每個NCU中擁有64個ALU,它可以靈活地執行緊縮數學操作指令,如每個周期可以進行512個8位數學計算,或者256個16位計算,或者128個32位計算—這不僅充分利用了硬體資源,也大幅度提升Vega在深度學習計算的性能。Vega GPU的性能推算Vega的架構改進,給業界帶來很大的想象力,但它的性能究竟能達到何種級別,還是存在很大的懸念。雖然基於Vega GPU的顯卡尚未發布,但AMD在去年12月份卻帶來一款Radeon Instinct MI25 計算卡的消息,它所搭載的就是Vega GPU晶元。▲Radeon Instinct MI25 計算卡Radeon Instinct MI25計算卡針對深度學習領域,GPU中直接集成了16GB容量的HBM2高速緩存(對應顯卡則是顯存),卡上另外還集成了1TB容量的NAND快閃記憶體,海量的計算數據可以直接放在這塊存儲器中,而不必經過系統內存再到傳統硬碟上,由此滿足大計算量所需的高速交換需求。M125的16位半精度浮點性能達到25TFLOPS,而用於3D渲染的32位單精度浮點性能也達到12.5TFLOPs,與之相比,目前AMD的主力顯卡RX 480的單精度浮點性能只有5.8 TFLOPs—我們可以簡單得出這樣的推論,Vega GPU的3D渲染性能,理論上將能達到目前RX480顯卡的兩倍左右。而在Radeon Instinct MI25的發布會上,AMD同樣展示了基於Vega GPU的下一代Radeon顯卡的測試成績,AMD在現場使用《DOOM2016》進行了演示,遊戲配置為4K@60Hz解析度、Ultra 畫面。這塊顯卡的顯存只有8GB容量,在實際測試中,遊戲幀數達到60~70fps的性能,整體相當於NVIDIA的 GTX 1070、1080之間。考慮到展示卡是早期版本、規格也不高,能達到這樣的性能足以讓外界振奮,這讓我們想到圖形雙雄並立的美好時光。Radeon Instinct 平台:Vega進軍深度學習市場AMD對Vega GPU在圖形領域的實力秘而不宣,但在吹風會上,它將Vega的應用重點更多放在機器學習領域。為此,AMD專門發布了新的AI 計運算元品牌「Radeon Instinct」,該平台包括硬體的加速卡和ROCm軟體平台,我們前面提到的Radeon Instinct MI25計算卡就是加速卡中的旗艦型號。ROCm軟體平台更為我們所關注。我們知道,NVIDIA佔據通用計算市場,除了Tesla加速卡在硬體性能方面的優勢外,更重要的它提供了軟體解決方案,藉助它的方案,開發者能夠編製出相應的Tesla加速程序。由於Tesla在并行計算應用中比傳統的CPU優勢巨大,方案一出就快速獲得業界的接受,並成為事實上的市場熱門標準,以至於英特爾都無法在密集計算市場與之爭鋒。NVIDIA現在將他們的GPU定位於AI、神經網路的首選的計算平台,並開始轉型將自身定位於AI計算公司,而不是單單停留在傳統的遊戲顯卡市場。這對於AMD顯然是非常大的刺激,現在AMD也想在該AI計算獲得突破,那麼光靠Vega平台的硬體實力顯然不行,ROCm軟體平台的出台就是為了解決開發環境支持的短板。▲Radeon Instinct兩大構成:硬體加速卡和ROCm開發環境ROCm的全稱為「Radeon Open Compute platform」(意為Radeon開放計算平台),它包含程序編譯器、程序語言運行時態,並對CUDA應用提供兼容支持,藉助這套平台,開發者能夠選擇自己已熟悉的程序語言、快速開發出對Radeon Instinct計算卡優化的程序。ROCm的編譯器已支持多個GPU—無論是單卡多晶元還是集群中數量龐大的多計算卡,它都能夠提供支持。這樣,開發者就不必受到硬體的限制,只要藉助ROCm開放平台進行編製程序,就可以無憂地在Radeon Instinct加速環境中獲得支持。▲AMD展示的Vega遊戲平台此外,AMD還專門開發了MIOpen對象庫,它與C++ STL、NCCL等程序庫類似,方便開發者直接調用,降低編程的難度。AMD宣稱,藉助MIOpen庫,MI25計算卡的性能,可以比NVIDIA的Pascal架構Titan X快出30%—而Titan X是NVIDIA最頂級的型號。與NVIDIA相比,AMD雖然作為深度學習市場的後來者,但它有著整體平台的優勢—基於Zen架構的「Naples「(那不勒斯)伺服器處理器擁有多達32個內核、64個線程,雙插槽可以提供64內核、128線程的頂級實力,配合Radeon Instinct加速卡可以提供一套頂尖的整體解決方案。如果Zen架構在伺服器市場獲得成功,那麼也將對Radeon Instinct平台起到正面的帶動作用,反之亦然。當然,AMD在短時間內無法實現這一目標,作為後來者它已經落後太多,幾乎所有的AI方案都基於NVIDIA Tesla平台和英特爾的72核至強融核Xeon Phi處理器,角逐深度計算市場。有趣的是,由於英特爾缺乏高端圖形技術,很大程度上其實可以考慮選擇與AMD進行合作,這三家處理器企業又將新時代、新領地開始三國演義。前瞻Vega架構的出現,正如Zen架構之於微處理器一樣,給AMD準備了重新上陣的彈藥。現在,只要它能夠快速地推向市場,就有機會挽回頹勢,逐漸回到雙雄並立的格局。同時在遊戲市場,Vega GPU的推出也將給玩家帶來新的選擇,尤其是銳龍Ryzen系列處理器成為大熱選擇的情況下,雙A方案看起來是比較靠譜的。AMD不吝於展示自身在AI計算領域的野心,這個領域不同於遊戲,如果Vega能夠展現出強大的性能實力,那麼AMD就很有機會獲得突破口;反之,如果它的性能與對手有明顯的差距,那麼光靠成本的優勢,也很難讓它有大的作為。按照計劃,Vega顯卡將在今年中期發布,相信不久后大家就能看到顯卡的上市。為了品牌繼承性,Vega GPU依然被歸入GCN架構,但它其實是全新的架構體系,跟前幾代GCN並沒有太大關係。我們希望GPU市場重新出現充分的競爭,喪失競爭的結果大家可以看到,無論CPU還是GPU,計算性能都將止步不前。
寫了
5860316篇文章,獲得
23313次喜歡