掃盲人工智慧的計算力基石--異構計算
07-10
掃盲人工智慧的計算力基石--異構計算
ASIC: 最強訂製料理機如果給ASIC牌料理機制定一句廣告語,我覺得是:最快速度,最低能效,您廚房的最強幫手。
來自專欄我是程序員
摘要: 本文將帶領入門讀者了解CPU,GPU,FPGA,ASIC和異構計算的一些基本概念和優缺點,希望幫助入門者和愛好者建立基本的晶元概念
人工智慧有三要素:演算法,計算力,數據。我們今天主要來講講計算力。
計算力歸根結底由底層晶元提供。按照計算晶元的組成方式,可以分成:同構計算:使用相同類型指令集和體系架構的計算單元組成系統的計算方式。異構計算:使用不同類型指令集和體系架構的計算單元組成系統的計算方式。常見的計算單元類別包括CPU、GPU、ASIC、FPGA等。大廚力不從心,於是老闆需要找個幫手(協處理器)來幫助他,比如在切菜方面,這個幫手可以同時處理很多菜品(並行處理),而且速度很快(低延時)。希望在合理的分工協作下,廚房能滿足新的需求。
為什麼CPU在大量數據處理時效率不高?在之前餐廳的例子里,大廚CPU能靈活控制整個做菜流程,更偏向一個控制者,但很多場景下並不是最好的執行者。CPU作為通用處理器,也是更偏重支持控制流數據。CPU每個物理核中大部分的硬體資源被做成了控制電路和緩存,用來提高指令兼容性和效率。只有小部分是真正用來計算的邏輯運算單元(ALU)。在這樣的架構下,CPU能兼容大量指令,但是實際的計算效率並不高。而且,CPU這個大廚很健忘,每做完一步都要去看看菜譜,甚至健忘到切菜每切一刀,都要去看看下一刀怎麼切。實際運行中,CPU的代碼都存在Memory這個「菜譜」中,需要經過取指令,解碼,然後才能執行指令。在這個流程中,取指令,解碼會開銷額外的時間,降低了數據處理速度。- 大廚貴 -- 價格
- 大廚在某些方面其實不一定擅長,比如你切菜切得過料理機嗎?-- 性能
- 廚房就這麼大,再來個人可能沒空間 – 晶元面積
- 大廚吃的比較多,老闆想省點 – 功耗
對協處理器的要求?
老闆對這個幫手也是精心挑選的,主要體現在:- 最好能提供多樣的菜品加工能力,比如洗菜,切菜一體化。(演算法性能)。異構系統中,High Performance Compute要求全面實現加速演算法,而不是僅僅是幾個步驟。所以協處理器需要能全面支持需要用到的場景關鍵演算法。
- 支持同時、快速加工(數據並行處理能力,低延時處理能力)。協處理器需要有大量的數據並行通道,每個通道需要支持低延遲的數據管線處理。
- 便於操作和菜品存取(介面性能)。要提供合適的介面帶寬,快速,安全地和主處理器進行數據交互。
- 安裝方便,能更新處理流程(配置靈活)。用戶能方便地安裝,配置,最好能更新協處理器的功能,方便日後計算需求的升級迭代。
- 節能(功耗)。更低的功耗意味著更低的運行成本,更小的空間佔用和更簡單的熱處理方案。
GPU:動作很快的笨笨小幫廚
GPU和CPU都屬於通用處理器,但是卻有不同的架構。如果把CPU大廚形容為「頭腦發達(控制電路多),四肢簡單(計算電路少)」,那麼GPU幫廚正好相反。在GPU中,硬體資源被大量用作邏輯運算單元(ALU),小部分用作控制電路。這為大規模的數據並行處理提供了基礎。其實,這個幫手在特定工作中遠遠超過了師傅(切菜洗菜超級快),大廚可以放心地把演算法簡單、重複性高、需要大量並行操作的工作交給它。FPGA: 可變化的萬能料理機
FPGA也是料理機,也沒有指令系統。和ASIC一樣:它的設計也是直接建築在物理硬體上。這樣的結構就已經註定了FPGA在大量數據處理時的優勢。事實上,它幾乎具有ASIC的所有優點,速度功耗也遠遠優於通用處理器,但是和ASIC對比,還稍微差一點,例如:功耗大一點,速度慢一點,同樣晶元面積下能實現的功能弱一點。不過,FPGA卻有一個巨大優勢。FPGA,中文全稱「現場可編程門級列陣」。對比ASIC,有三個字無比耀眼:可編程。可編程意味著可改變。今天切土豆絲,明天切土豆片,都沒有問題了,不需要進行晶元重新訂製,靈活性堪比通用處理器。對比ASIC的研發流程,FPGA開發可以快速試錯迭代,縮短了開發時間。其實,在半導體界,FPGA有「萬能晶元」的美譽,它以可編程和靈活的直接基於硬體訂製兩大法寶,在眾多應用場景中有著重要地位。FPGA的主要問題在開發。FPGA料理機交付客戶時其實是一個空機器,裡面什麼功能都沒有,需要客戶根據自己的需求一點點搭建。這個難度不低,主要原因是:異構演算法的開發人員大部分是軟體人員,缺乏對FPGA結構和數字電路的了解,編程語言也不統一(CPU端是C、C++等等,FPGA端是VHDL、Verilog)。目前解決這個問題的方法是OpenCL和HLS(High Level Synthesis)技術,支持直接把C、C++代碼編譯成Verilog,雖然目前轉化效果仍然有待提高,但是隨著這些技術的成熟,相信FPGA會站上異構計算的舞台中央。阿里雲鄭曉:淺談GPU虛擬化技術(第一章)
阿里雲鄭曉:淺談GPU虛擬化技術(第二章)阿里雲鄭曉:淺談GPU虛擬化技術(第三章)淺談GPU虛擬化技術(四)- GPU分片虛擬化
淺談GPU虛擬化技術(五)- GPU圖形渲染虛擬化的業界難題-VDI的用戶體驗【F3簡介】一張圖看懂FPGA-F3實例【F3使用場景】F3經典使用場景另外,請訂閱彈性計算雙周刊獲取第一手的阿里雲ECS的技術資訊。學習愉快!更多技術乾貨敬請關注云棲社區知乎機構號:阿里云云棲社區 - 知乎
本文為雲棲社區原創內容,未經允許不得轉載。
推薦閱讀:
※再次升級!阿里雲Kubernetes日誌解決方案
※王寶強離婚成了誰的狂歡?—通過阿里雲·數加嚴肅解讀數據背後的媒體傳播路徑
※阿里雲ACP認證最全攻略!最全模擬題庫!
※2016年雙十一晚會在哪個台直播?如何評價晚會上阿里展示的阿里雲couldET?








