當下,嵌入式系統設計主要面臨兩個困難,可將其歸納為:算力的損失和功耗的增加。主要的“罪魁禍首”包括:數據源的涌入(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:特殊的“工業”版本,適用于非?!皭毫印钡沫h境
Xavier
圖3:專為工業級和軍用級應用而設計的GPGPU,正在重新定義SWaP優化和SFF系統的預期性能。
實際上,NVIDIA推出了具有更長生命周期的TX2i模塊,這意味著對于長期計劃(如航空航天、國防和太空)以及幾種工業應用來說,組件過時風險較小。業界已經部署了許多相應的軍事和工業項目以及客戶計劃,每天都有新的應用推出。
-
半導體
+關注
關注
334文章
27571瀏覽量
220452 -
嵌入式
+關注
關注
5087文章
19153瀏覽量
306418 -
計算機
+關注
關注
19文章
7523瀏覽量
88314 -
人工智能
+關注
關注
1792文章
47497瀏覽量
239202
發布評論請先 登錄
相關推薦
評論