關於GPGPU計算的11個「傳說」
來源:本文由公眾號半導體行業觀察(ID:icbank)翻譯自「Microwaves & RF」,作者Daniel Mor,謝謝。
當下,嵌入式系統設計主要面臨兩個困難,可將其歸納為:算力的損失和功耗的增加。主要的「罪魁禍首」包括:數據源的湧入(influx),技術的持續升級,系統規模的縮小以及系統內部密度的增加。
高性能嵌入式計算機(HPEC)系統已經開始在通用圖形處理器單元(GPGPU)上利用專用的並行計算速度和性能,使系統設計人員能夠將出色的功率和性能帶入堅固耐用的小型化設計(SFFs)。
GPU加速計算將圖形處理單元(GPU)與中央處理單元(CPU)結合在一起,以加速應用程序,並將一些計算密集型任務從CPU移到到GPU。
這裡,需要特別關注的是,隨著處理要求的不斷提高,主計算引擎——CPU——最終會不堪重負。而GPU已經發展成為一種極其靈活且強大的處理器,並且由於具有改進的可編程性、精度和並行處理能力,可以比CPU更好、更快地處理某些計算任務。
如果能深入了解GPGPU計算,包括其強大的功能和局限性,可以幫助設計人員為應用選擇能提供最佳性能的產品。
下面,我們就來分析一下關於GPGPU的11種說法和認知,看哪些是對的,哪些是錯的。
1.GPGPU只適用於消費類電子產品,如遊戲中的圖形渲染
這種說法不對。正如過去幾年所展示的那樣,GPGPU正在重新定義數據處理和深度學習網路方面的能力,以及塑造著其在人工智慧領域的形象和期望。且有越來越多基於GPGPU技術的軍事和國防項目在應用中部署,包括用於雷達的先進處理能力,圖像識別,分類,運動檢測,編碼等系統。
2.因為是「通用的」,所以GPU不是為處理複雜的高密度計算任務而設計的
這種說法也是錯的。典型的強大RISC或CISC CPU具有數十個複雜核心。GPU具有數千個「專用」內核,經過優化可處理和操作大型數據矩陣,如顯示器或輸入設備和光學相機(見圖1)。這些GPU允許應用程序在多個內核之間共享演算法,並且更容易構建和執行並行處理。能夠在GPU上創建許多並發「內核」 ——每個「內核」負責特定計算的子集——使系統能夠執行複雜的高密度計算。
圖1:雖然多核CPU能提供增強的處理能力,但基於CUDA的GPU可提供數千個並行運行,並同時處理大量數據的內核。
GPGPU管道在GPU上使用並行處理來分析數據,就好像它是圖像或其他圖形數據一樣。雖然GPU在較低頻率下運行,但它們通常具有許多核心數量。因此,與傳統CPU相比,GPU每秒可以處理更多的圖片和圖形數據。使用GPU並行管道掃描和分析圖形數據可以實現大幅加速。
3.GPGPU不夠堅固,無法承受如井下監測、移動或軍事應用等惡劣環境
錯。加固的責任實際上是在電路板或系統製造商身上。在惡劣的電子環境中使用的許多零部件在製造時並不堅固,這方面,GPGPU與其它器件相同。這時,就需要設計可靠系統的知識發揮作用了,包括哪種技術可以最好地減輕環境危害等因素的影響,並確保系統滿足特定的應用要求。
例如, Aitech擁有基於GPGPU的電路板和SFF系統,這些電路板和SFF系統符合許多航空電子設備,海軍,地面和移動應用要求,這得益於其數十年積累起來的、可用於系統開發的專業知識。
4.當處理能力超出系統要求時,替代方案需要增加功耗(即購買功能更強大的硬體)
這種說法是對的。如果用戶試圖避免使用GPGPU,通常會導致CPU性能不足。為了嘗試解決這個難題,通常會增加額外的CPU板,或者現有的板會超頻,從而導致功耗增加。在大多數情況下,結果是降低了CPU頻率性能以及需要降低時鐘以補償晶元溫度上升。
5.不添加另一個處理引擎會增加系統中的複雜性和集成問題嗎?
在短期內,也許是這樣,因為您需要考慮使用新的尖端技術的學習曲線。但從長遠來看,不是這樣。CUDA已成為圖像處理和演算法的事實上的計算語言。構建CUDA演算法後,您可以在支持NVIDIA GPGPU板的任何不同平台上「重複使用」它。將它從一個平台移植到另一個平台很容易,因此,該方法只需要很少的特定硬體,因此更「通用」。
6.由於基於GPGPU的系統處理極大量的數據,因此會增加功耗
不是的。當今的GPGPU非常節能。一些GPGPU板的功耗與CPU板上的功耗相同。GPGPU板可以使用數千個CUDA內核處理更多的並行數據。因此,功率 - 性能比是以非常積極的方式受到影響的因素。
7.在性能和功耗之間仍需要權衡
是的,這些權衡總是存在的。更高的性能和更快的吞吐量需要更多的功耗,這是事實。但這些是您在使用CPU或其它處理器時,同樣需要面對的問題,無一例外。
例如,採用「NVIDIA Optimus技術」時,由於它是一種計算機GPU切換技術,其中,獨立GPU處理所有渲染任務,最終圖像輸出到顯示器仍由RISC處理器及其集成圖形處理器(IGP)處理。實際上,RISC CPU的IGP僅用作簡單的顯示控制器,從而實現無縫、實時、無閃爍的體驗,無需在GPGPU或共享CPU上承擔圖像渲染和生成的全部負擔所有RISC CPU上的圖像識別資源。這種負載共享可使系統更加強大。
當運行不太關鍵或要求較低的應用程序時,可以關閉獨立GPU。英特爾IGP可處理渲染和顯示調用,以節省電量並提供最高的性能功耗比。
8.平衡CPU上的負載可以通過簡單的電路板升級來完成,且足以管理系統所需的數據處理
錯。對於這種情況,業界肯定會採用並行處理,即採用GPU處理,這是有充分理由的。並行處理圖像是GPU最擅長的。隨著數據輸入和攝像機解析度的不斷增長,對並行處理架構的需求將成為常態,而不是奢侈品。對於需要同時捕獲、比較、分析和決策數百個圖像的任務和安全行業尤其如此(見圖2)。
圖2:隨著數據輸入的增加,CPU在處理、負載平衡和時鐘要求方面的能力將無法滿足實際要求。
9.摩爾定律也適用於GPGPU
是的。有一個解決方案。NVIDIA目前正在對多晶元模塊GPU(MCM-GPU)架構進行原型設計,儘管當今的集成電路製程工藝升級越來越困難,晶體管微縮速度明顯減緩,但該架構可實現持續的GPU性能擴展。
在GTC 2019上,NVIDIA關於MCM-GPU晶元的討論部分,特別介紹了許多可應用於更高級別計算系統的技術,包括mesh網路,低延遲信令和可擴展的深度學習架構,以及有機基板上的die-to-die高效傳輸技術。
10.學習一種全新的編程語言(如CUDA)需要花費太多的時間和金錢投入
實際上,並不是這樣的。目前,CUDA是事實上的並行計算標準語言,且市場上已經部署了許多基於CUDA的解決方案,因此,許多演算法已經移植到了CUDA。NVIDIA有一個大型的在線論壇,有許多應用案例,網路培訓課程,用戶社區等。此外,軟體公司願意幫助設計人員完成CUDA的入門。在許多大學,CUDA現在是編程語言課程的一部分。
學習任何新的計算技術似乎都會令人生畏。但是,憑藉可用資源和GPGPU技術的廣闊前景,這是一種非常值得投資的編程語言。
11.嵌入式市場沒有「工業級」GPGPU,特別是SFF,SWaP優化系統
錯。NVIDIA擁有一套完整的、面向嵌入式市場的「Jetson」產品線(見圖3)。目前包括以下系統模塊(SoM),每個模塊都採用SFF設計,對其尺寸、重量和功耗都進行了優化。
TX1
TX2
TX2i:特殊的「工業」版本,適用於非常「惡劣」的環境
Xavier
圖3:專為工業級和軍用級應用而設計的GPGPU,正在重新定義SWaP優化和SFF系統的預期性能。
實際上,NVIDIA推出了具有更長生命周期的TX2i模塊,這意味著對於長期計劃(如航空航天、國防和太空)以及幾種工業應用來說,組件過時風險較小。業界已經部署了許多相應的軍事和工業項目以及客戶計劃,每天都有新的應用推出。
*免責聲明:本文由作者原創。文章內容系作者個人觀點,半導體行業觀察轉載僅為了傳達一種不同的觀點,不代表半導體行業觀察對該觀點贊同或支持,如果有任何異議,歡迎聯繫半導體行業觀察。
今天是《半導體行業觀察》為您分享的第2001期內容,歡迎關注。
半導體行業觀察
『半導體第一垂直媒體』
實時 專業 原創 深度


※ASML最新一代EUV設備2025年量產
※AMD強勢搶單,Intel嚴陣以待
TAG:半導體行業觀察 |