
現在這年代,技術日新月異,物聯網、人工智能、深度學習等概念遍地開花,各類芯片名詞GPU, TPU, NPU,DPU,層出不窮......它們都是什么鬼?與CPU又是什么關系?
今天我們就來通俗易懂的科普一下這些所謂的“XPU”!
老規矩,先上概念:
- CPU即中央處理器(Central Processing Unit)
- GPU即圖形處理器(Graphics Processing Unit)
- TPU即谷歌的張量處理器(Tensor Processing Unit)
- NPU即神經網絡處理器(Neural network Processing Unit)
CPU
中央處理器(CPU,Central Processing Unit),是電子計算機的主要設備之一,電腦中的核心配件。其功能主要是解釋計算機指令以及處理計算機軟件中的數據。電腦中所有操作都由CPU負責讀取指令,對指令譯碼并執行指令的核心部件。
CPU的結構主要包括運算器(ALU, Arithmetic and Logic Unit)、控制單元(CU, Control Unit)、寄存器(Register)、高速緩存器(Cache)和它們之間通訊的數據、控制及狀態的總線。
CPU遵循的是馮諾依曼架構,其核心就是:存儲程序,順序執行。
另外,因為遵循馮諾依曼架構(存儲程序,順序執行),CPU就像是個一板一眼的管家,人們吩咐的事情它總是一步一步來做。但是隨著人們對更大規模與更快處理速度的需求的增加,這位管家漸漸變得有些力不從心。
于是,大家就想,能不能把多個處理器放在同一塊芯片上,讓它們一起來做事,這樣效率不就提高了嗎?
沒錯,GPU便由此誕生了。
GPU
在正式講解GPU之前,我們先來講講的一個概念:并行計算。
并行計算(Parallel Computing)是指同時使用多種計算資源解決計算問題的過程,是提高計算機系統計算速度和處理能力的一種有效手段。它的基本思想是用多個處理器來共同求解同一問題,即將被求解的問題分解成若干個部分,各部分均由一個獨立的處理機來并行計算。
并行計算可分為時間上的并行和空間上的并行。
時間上的并行是指流水線技術,比如說工廠生產食品的時候分為四步:清洗-消毒-切割-包裝。
如果不采用流水線,一個食品完成上述四個步驟后,下一個食品才進行處理,耗時且影響效率。但是采用流水線技術,就可以同時處理四個食品。這就是并行算法中的時間并行,在同一時間啟動兩個或兩個以上的操作,大大提高計算性能。
空間上的并行是指多個處理機并發的執行計算,即通過網絡將兩個以上的處理機連接起來,達到同時計算同一個任務的不同部分,或者單個處理機無法解決的大型問題。
比如小李準備在植樹節種三棵樹,如果小李1個人需要6個小時才能完成任務,植樹節當天他叫來了好朋友小紅、小王,三個人同時開始挖坑植樹,2個小時后每個人都完成了一顆植樹任務,這就是并行算法中的空間并行,將一個大任務分割成多個相同的子任務,來加快問題解決速度。
所以說,如果讓CPU來執行這個種樹任務的話,它就會一棵一棵的種,花上6個小時的時間,但是讓GPU來種樹,就相當于好幾個人同時在種。
GPU全稱為Graphics Processing Unit,中文為圖形處理器,就如它的名字一樣,GPU最初是用在個人電腦、工作站、游戲機和一些移動設備(如平板電腦、智能手機等)上運行繪圖運算工作的微處理器。
為什么GPU特別擅長處理圖像數據呢?這是因為圖像上的每一個像素點都有被處理的需要,而且每個像素點處理的過程和方式都十分相似,也就成了GPU的天然溫床。
但GPU無法單獨工作,必須由CPU進行控制調用才能工作。CPU可單獨作用,處理復雜的邏輯運算和不同的數據類型,但當需要大量的處理類型統一的數據時,則可調用GPU進行并行計算。
有一點需要強調,雖然GPU是為了圖像處理而生的,但是它在結構上并沒有專門為圖像服務的部件,只是對CPU的結構進行了優化與調整,所以現在GPU不僅可以在圖像處理領域大顯身手,它還被用來科學計算、密碼破解、數值分析,海量數據處理(排序,Map-Reduce等),金融分析等需要大規模并行計算的領域。
TPU
張量處理單元(TPU)是一種定制化的 ASIC 芯片,它由谷歌從頭設計,并專門用于機器學習工作負載。TPU 為谷歌的主要產品提供了計算支持,包括翻譯、照片、搜索助理和 Gmail 等。Cloud TPU 將 TPU 作為可擴展的云計算資源,并為所有在 Google Cloud 上運行尖端 ML 模型的開發者與數據科學家提供計算資源。
按照上文所述,CPU和GPU都是較為通用的芯片,但是有句老話說得好:萬能工具的效率永遠比不上專用工具。
隨著人們的計算需求越來越專業化,人們希望有芯片可以更加符合自己的專業需求,這時,便產生了ASIC(專用集成電路)的概念。
ASIC是指依產品需求不同而定制化的特殊規格集成電路,由特定使用者要求和特定電子系統的需要而設計、制造。
而TPU(Tensor Processing Unit, 張量處理器)就是谷歌專門為加速深層神經網絡運算能力而研發的一款芯片,其實也是一款ASIC。
據稱,TPU與同期的CPU和GPU相比,可以提供15-30倍的性能提升,以及30-80倍的效率(性能/瓦特)提升。初代的TPU只能做推理,要依靠Google云來實時收集數據并產生結果,而訓練過程還需要額外的資源;而第二代TPU既可以用于訓練神經網絡,又可以用于推理。
NPU
所謂NPU(Neural network Processing Unit), 即神經網絡處理器。用電路模擬人類的神經元和突觸結構。
神經網絡中存儲和處理是一體化的,都是通過突觸權重來體現。而馮·諾伊曼結構中,存儲和處理是分離的,分別由存儲器和運算器來實現,二者之間存在巨大的差異。當用現有的基于馮·諾伊曼結構的經典計算機(如X86處理器和英偉達GPU)來跑神經網絡應用時,就不可避免地受到存儲和處理分離式結構的制約,因而影響效率。這也就是專門針對人工智能的專業芯片能夠對傳統芯片有一定先天優勢的原因之一。
NPU的典型代表有國內的寒武紀芯片和IBM的TrueNorth。以中國的寒武紀為例,DianNaoYu指令直接面對大規模神經元和突觸的處理,一條指令即可完成一組神經元的處理,并對神經元和突觸數據在芯片上的傳輸提供了一系列專門的支持。
用數字來說話,CPU、GPU與NPU相比,會有百倍以上的性能或能耗比差距–以寒武紀團隊過去和Inria聯合發表的DianNao論文為例–DianNao為單核處理器,主頻為0.98GHz,峰值性能達每秒4520億次神經網絡基本運算,65nm工藝下功耗為0.485W,面積3.02平方毫米mm。
BPU
BPU(Brain Processing Unit,大腦處理器)是由地平線科技提出的嵌入式人工智能處理器架構。第一代是高斯架構,第二代是伯努利架構,第三代是貝葉斯架構。目前地平線已經設計出了第一代高斯架構,并與英特爾在2017年CES展會上聯合推出了ADAS系統(高級駕駛輔助系統)。
DPU
DPU(Deep learning Processing Unit, 即深度學習處理器)最早由國內深鑒科技提出,基于Xilinx可重構特性的FPGA芯片,設計專用的深度學習處理單元(可基于已有的邏輯單元,設計并行高效的乘法器及邏輯電路,屬于IP范疇),且抽象出定制化的指令集和編譯器(而非使用OpenCL),從而實現快速的開發與產品迭代。事實上,深鑒提出的DPU屬于半定制化的FPGA。
你以為到這里就完了嗎?
不,據說每過18天,集成電路領域就會多出一個XPU,直到26個字母被用完。
這被戲稱為AI時代的XPU版摩爾定律。
據不完全統計,已經被用掉的有:
APU -- Accelerated Processing Unit, 加速處理器,AMD公司推出加速圖像處理芯片產品。
BPU -- Brain Processing Unit, 地平線公司主導的嵌入式處理器架構。
CPU -- Central Processing Unit 中央處理器, 目前PC core的主流產品。
DPU -- Deep learning Processing Unit, 深度學習處理器,最早由國內深鑒科技提出;另說有Dataflow Processing Unit 數據流處理器, Wave Computing 公司提出的AI架構;Data storage Processing Unit,深圳大普微的智能固態硬盤處理器。
FPU -- Floating Processing Unit 浮點計算單元,通用處理器中的浮點運算模塊。
GPU -- Graphics Processing Unit, 圖形處理器,采用多線程SIMD架構,為圖形處理而生。
HPU -- Holographics Processing Unit 全息圖像處理器, 微軟出品的全息計算芯片與設備。
IPU -- Intelligence Processing Unit, Deep Mind投資的Graphcore公司出品的AI處理器產品。
MPU/MCU -- Microprocessor/Micro controller Unit, 微處理器/微控制器,一般用于低計算應用的RISC計算機體系架構產品,如ARM-M系列處理器。
NPU -- Neural Network Processing Unit,神經網絡處理器,是基于神經網絡算法與加速的新型處理器總稱,如中科院計算所/寒武紀公司出品的diannao系列。
RPU -- Radio Processing Unit, 無線電處理器, Imagination Technologies 公司推出的集合集Wifi/藍牙/FM/處理器為單片的處理器。
TPU -- Tensor Processing Unit 張量處理器, Google 公司推出的加速人工智能算法的專用處理器。目前一代TPU面向Inference,二代面向訓練。
VPU -- Vector Processing Unit 矢量處理器,Intel收購的Movidius公司推出的圖像處理與人工智能的專用芯片的加速計算核心。
WPU -- Wearable Processing Unit, 可穿戴處理器,Ineda Systems公司推出的可穿戴片上系統產品,包含GPU/MIPS CPU等IP。
XPU -- 百度與Xilinx公司在2017年Hotchips大會上發布的FPGA智能云加速,含256核。
ZPU -- Zylin Processing Unit, 由挪威Zylin 公司推出的一款32位開源處理器。
當26個字母被用完后,即將出現XXPU,XXXPU,并以更快的速度占領起名界。
你說嚇不嚇人?
到這里,相信諸位也對這些XPU的概念有了初步的認識。想了解更多有趣有料的信息 歡迎掃碼關注小F(ID:iamfastone)獲取更多最新最全的信息。
我們有個 為應用定義的研發云平臺
集成多種行業應用,大量任務多節點并行
應對短時間爆發性需求,連網即用
跑任務快,原來幾個月甚至幾年,現在只需幾小時
5分鐘快速上手,拖拉點選可視化界面,無需代碼
支持高級用戶直接在云端創建集群
掃碼免費試用,送200元體驗金,入股不虧~

更多電子書
歡迎掃碼關注小F(ID:iamfastone)獲取

你也許想了解具體的落地場景:
王者帶飛LeDock!開箱即用&一鍵定位分子庫+全流程自動化,3.5小時完成20萬分子對接
這樣跑COMSOL,是不是就可以發Nature了
Auto-Scale這支仙女棒如何大幅提升Virtuoso仿真效率?
1分鐘告訴你用MOE模擬200000個分子要花多少錢
LS-DYNA求解效率深度測評 │ 六種規模,本地VS云端5種不同硬件配置
揭秘20000個VCS任務背后的“搬桌子”系列故事
155個GPU!多云場景下的Amber自由能計算
怎么把需要45天的突發性Fluent仿真計算縮短到4天之內?
5000核大規模OPC上云,效率提升53倍
提速2920倍!用AutoDock Vina對接2800萬個分子
從4天到1.75小時,如何讓Bladed仿真效率提升55倍?
從30天到17小時,如何讓HSPICE仿真效率提升42倍?
關于為應用定義的云平臺:
和28家業界大佬排排坐是一種怎樣的體驗?
這一屆科研計算人趕DDL紅寶書:學生篇
楊洋組織的“太空營救”中, 那2小時到底發生了什么?
速石科技獲元禾璞華領投數千萬美元B輪融資
一次搞懂速石科技三大產品:FCC、FCC-E、FCP
速石科技成三星Foundry國內首家SAFE?云合作伙伴
Ansys最新CAE調研報告找到阻礙仿真效率提升的“元兇”
【2021版】全球44家頂尖藥企AI輔助藥物研發行動白皮書
國內超算發展近40年,終于遇到了一個像樣的對手
幫助CXO解惑上云成本的迷思,看這篇就夠了
花費4小時5500美元,速石科技躋身全球超算TOP500