當前位置:首頁 > 公眾號精選 > 嵌入式微處理器
[導讀]我們先了解一下什么是異構(gòu)并行計算。


01

先了解什么是異構(gòu)并行計算


同構(gòu)計算是使用相同類型指令集和體系架構(gòu)的計算單元組成系統(tǒng)的計算方式。

而異構(gòu)計算主要是指使用不同類型指令集和體系架構(gòu)的計算單元組成系統(tǒng)的計算方式,常見的計算單元類別包括CPU、GPU、DSP、ASIC、FPGA等。

異構(gòu)計算用簡單的公式可以表示為“CPU+XXX”。舉例來說,AMD著力發(fā)展的APU就屬于異構(gòu)計算,用公式表示就是CPU+GPU。

由于術(shù)業(yè)有專攻,CPU、GPU、DSP、ASIC、FPGA各有所長,在一些場景下,引入特定計算單元,讓計算系統(tǒng)變成混合結(jié)構(gòu),就能讓CPU、GPU、DSP、FPGA執(zhí)行自己最擅長的任務(wù)。

異構(gòu)計算(Heterogeneous Computing)在80年代中期就已產(chǎn)生,其定義更加寬泛。異構(gòu)計算主要是指使用不同類型指令集和體系架構(gòu)的計算單元組成系統(tǒng)的計算方式。常見的計算單元類別包括CPU、GPU等協(xié)處理器、DSP、ASIC、FPGA等。一個異構(gòu)計算平臺往往包含使用不同指令集架構(gòu)(ISA)的處理器。
?
從軟件的角度來講,異構(gòu)并行計算框架是讓軟件開發(fā)者高效地開發(fā)異構(gòu)并行的程序,充分使用計算平臺資源。從硬件角度來講,一方面,多種不同類型的計算單元通過更多時鐘頻率和內(nèi)核數(shù)量提高計算能力;另一方面,各種計算單元通過技術(shù)優(yōu)化(如GPU從底層架構(gòu)支持通用計算,通過分支預(yù)測、原子運算、動態(tài)并行、統(tǒng)一尋址、NIC直接訪問顯存等能力)提高執(zhí)行效率。?


正是因為異構(gòu)計算在理論上有著諸多的優(yōu)勢,一些媒體將“CPU+XXX”稱為下一代處理器。

異構(gòu)計算在理論上相對于同構(gòu)計算擁有很多優(yōu)勢——HSA能夠簡化芯片結(jié)構(gòu)設(shè)計、降低應(yīng)用編程門檻、縮短項目研發(fā)周期、顯著提升芯片性能、廣泛共享軟件生態(tài)。

有廠家甚至宣傳異構(gòu)計算可以實現(xiàn)任何程序都不必費心考慮不同處理器內(nèi)核之間的存儲差異。但在現(xiàn)階段,異構(gòu)計算除了在超算上取得了明顯成績,在其他領(lǐng)域優(yōu)勢并不大。

即便異構(gòu)計算目前還存在這樣或那樣的一些問題,但卻是非常具有發(fā)展?jié)摿Φ募夹g(shù)。

隨著技術(shù)的進步,電子消費品市場對于高性能并行計算的需求正在爆發(fā)性增長,特別是在機器視覺、人工智能、云計算、AR/VR、軟件定義無線電以及其他新興領(lǐng)域,都對異構(gòu)計算系統(tǒng)有著非常大的需求。

而HSA在系統(tǒng)編程方式上的邁進使得一個復雜片上系統(tǒng)能夠協(xié)調(diào)在并行計算上比CPU更高效、更低功耗的GPU、DSP以及硬件加速器等計算單元承擔大部分繁重的計算工作任務(wù),在上述新興領(lǐng)域能發(fā)揮較理想的作用。

也正是因此,Parmance公司計劃與華夏芯在ML-HSA項目上進行合作——該項目面向機器學習和深層神經(jīng)網(wǎng)絡(luò),并針對華夏芯此前發(fā)起的開源gccbrig項目進行優(yōu)化,gccbrig項目為任何支持GCC的平臺提供編譯(終結(jié)轉(zhuǎn)換)功能。

國外巨頭也一直著力發(fā)展異構(gòu)計算系統(tǒng)——Intel在去年以167億美元收購阿爾特拉,發(fā)展CPU+FPGA,AMD著力發(fā)展的APU也屬于異構(gòu)計算,像Imagination、MTK等一些廠商也在異構(gòu)計算領(lǐng)域積極布局??梢哉f,異構(gòu)計算的市場前景還是值得期待。

02

再看看CPU與GPU的區(qū)別


隨著GPU的可編程性不斷增強,GPU的應(yīng)用能力已經(jīng)遠遠超出了圖形渲染任務(wù),利用GPU完成通用計算的研究逐漸活躍起來,將GPU用于圖形渲染以外領(lǐng)域的計算成為GPGPU(General Purpose computing on graphics processing units,基于GPU的通用計算)。與此同時,CPU則遇到了一些障礙,CPU為了追求通用性,將其中大部分晶體管主要用于構(gòu)建控制電路(比如分支預(yù)測等)和Cache,只有少部分的晶體管來完成實際的運算工作。


CPU + GPU 是一個強大的組合,因為 CPU 包含幾個專為串行處理而優(yōu)化的核心,而 GPU 則由數(shù)以千計更小、更節(jié)能的核心組成,這些核心專為提供強勁的并行性能而設(shè)計。程序的串行部分在 CPU 上運行,而并行部分則在 GPU上運行。GPU 已經(jīng)發(fā)展到成熟階段,可輕松執(zhí)行現(xiàn)實生活中的各種應(yīng)用程序,而且程序運行速度已遠遠超過使用多核系統(tǒng)時的情形。未來計算架構(gòu)將是并行核心 GPU 與多核 CPU 共同運行的混合型系統(tǒng)。


1、CPU即中央處理器


CPU( Central Processing Unit, 中央處理器)就是機器的“大腦”,也是布局謀略、發(fā)號施令、控制行動的“總司令官”。


CPU的結(jié)構(gòu)主要包括運算器(ALU, Arithmetic and Logic Unit)、控制單元(CU, Control Unit)、寄存器(Register)、高速緩存器(Cache)和它們之間通訊的數(shù)據(jù)、控制及狀態(tài)的總線。


簡單來說就是:計算單元、控制單元和存儲單元,架構(gòu)如下圖所示:
圖:CPU微架構(gòu)示意圖


從字面上我們也很好理解,計算單元主要執(zhí)行算術(shù)運算、移位等操作以及地址運算和轉(zhuǎn)換;存儲單元主要用于保存運算中產(chǎn)生的數(shù)據(jù)以及指令等;控制單元則對指令譯碼,并且發(fā)出為完成每條指令所要執(zhí)行的各個操作的控制信號。


所以一條指令在CPU中執(zhí)行的過程是這樣的:讀取到指令后,通過指令總線送到控制器(黃色區(qū)域)中進行譯碼,并發(fā)出相應(yīng)的操作控制信號;然后運算器(綠色區(qū)域)按照操作指令對數(shù)據(jù)進行計算,并通過數(shù)據(jù)總線將得到的數(shù)據(jù)存入數(shù)據(jù)緩存器(大塊橙色區(qū)域)。

過程如下圖所示:

圖:CPU執(zhí)行指令圖

CPU遵循的是馮諾依曼架構(gòu),其核心就是:存儲程序,順序執(zhí)行。 在這個結(jié)構(gòu)圖中,負責計算的綠色區(qū)域占的面積似乎太小了,而橙色區(qū)域的緩存Cache和黃色區(qū)域的控制單元占據(jù)了大量空間。


因為CPU的架構(gòu)中需要大量的空間去放置存儲單元(橙色部分)和控制單元(黃色部分),相比之下計算單元(綠色部分)只占據(jù)了很小的一部分,所以它在大規(guī)模并行計算能力上極受限制,而更擅長于邏輯控制。


另外,因為遵循馮諾依曼架構(gòu)(存儲程序,順序執(zhí)行),CPU就像是個一板一眼的管家,人們吩咐的事情它總是一步一步來做。但是隨著人們對更大規(guī)模與更快處理速度的需求的增加,這位管家漸漸變得有些力不從心。


于是,能不能把多個處理器放在同一塊芯片上,讓它們一起來做事,這樣效率不就提高了嗎?GPU便由此誕生了。


2、GPU即圖形處理器。


GPU全稱為Graphics Processing Unit,中文為圖形處理器,就如它的名字一樣,GPU最初是用在個人電腦、工作站、游戲機和一些移動設(shè)備(如平板電腦、智能手機等)上運行繪圖運算工作的微處理器。


為什么GPU特別擅長處理圖像數(shù)據(jù)呢?這是因為圖像上的每一個像素點都有被處理的需要,而且每個像素點處理的過程和方式都十分相似,也就成了GPU的天然溫床。


GPU簡單架構(gòu)如下圖所示:
圖:GPU微架構(gòu)示意圖


從架構(gòu)圖我們就能很明顯的看出,GPU的構(gòu)成相對簡單,有數(shù)量眾多的計算單元和超長的流水線,特別適合處理大量的類型統(tǒng)一的數(shù)據(jù)。


但GPU無法單獨工作,必須由CPU進行控制調(diào)用才能工作。CPU可單獨作用,處理復雜的邏輯運算和不同的數(shù)據(jù)類型,但當需要大量的處理類型統(tǒng)一的數(shù)據(jù)時,則可調(diào)用GPU進行并行計算。


注:GPU中有很多的運算器ALU和很少的緩存cache,緩存的目的不是保存后面需要訪問的數(shù)據(jù)的,這點和CPU不同,而是為線程thread提高服務(wù)的。如果有很多線程需要訪問同一個相同的數(shù)據(jù),緩存會合并這些訪問,然后再去訪問dram。


再把CPU和GPU兩者放在一張圖上看下對比,就非常一目了然了:

GPU的工作大部分都計算量大,但沒什么技術(shù)含量,而且要重復很多很多次。


借用知乎上某大神的說法,就像你有個工作需要計算幾億次一百以內(nèi)加減乘除一樣,最好的辦法就是雇上幾十個小學生一起算,一人算一部分,反正這些計算也沒什么技術(shù)含量,純粹體力活而已;而CPU就像老教授,積分微分都會算,就是工資高,一個老教授頂二十個小學生,你要是富士康你雇哪個?


GPU就是用很多簡單的計算單元去完成大量的計算任務(wù),純粹的人海戰(zhàn)術(shù)。這種策略基于一個前提,就是小學生A和小學生B的工作沒有什么依賴性,是互相獨立的。

有一點需要強調(diào),雖然GPU是為了圖像處理而生的,但是我們通過前面的介紹可以發(fā)現(xiàn),它在結(jié)構(gòu)上并沒有專門為圖像服務(wù)的部件,只是對CPU的結(jié)構(gòu)進行了優(yōu)化與調(diào)整,所以現(xiàn)在GPU不僅可以在圖像處理領(lǐng)域大顯身手,它還被用來科學計算、密碼破解、數(shù)值分析,海量數(shù)據(jù)處理(排序,Map-Reduce等),金融分析等需要大規(guī)模并行計算的領(lǐng)域。


所以,GPU也可以認為是一種較通用的芯片。

從根本上說CPU和GPU它們的目的不同,且有不同側(cè)重點,也有著不同的性能特性,在某些工作中CPU執(zhí)行得更快,另一工作中或許GPU能更好。當你需要對大量數(shù)據(jù)做同樣的事情時,GPU更合適,當你需要對同一數(shù)據(jù)做很多事情時,CPU正好。


然而在實際應(yīng)用中,后一種情形更多,也就是CPU更為靈活能勝任更多的任務(wù)。GPU能做什么?關(guān)于圖形方面的以及大型矩陣運算,如機器學習算法、挖礦、暴力破解密碼等,GPU會大幅提高計算效率。

  • Cache, local memory:CPU > GPU
  • Threads(線程數(shù)): GPU > CPU
  • Registers: GPU > CPU 多寄存器可以支持非常多的Thread,thread需要用到register,thread數(shù)目大,register也必須得跟著很大才行。
  • SIMD Unit(單指令多數(shù)據(jù)流,以同步方式,在同一時間內(nèi)執(zhí)行同一條指令): GPU > CPU。

簡單地說,CPU擅長分支預(yù)測等復雜操作,GPU擅長對大量數(shù)據(jù)進行簡單操作。一個是復雜的勞動,一個是大量并行的工作。


其實GPU可以看作是一種專用的CPU,專為單指令在大塊數(shù)據(jù)上工作而設(shè)計,這些數(shù)據(jù)都是進行相同的操作,要知道處理一大塊數(shù)據(jù)比處理一個一個數(shù)據(jù)更有效,執(zhí)行指令開銷也會大大降低,因為要處理大塊數(shù)據(jù),意味著需要更多的晶體管來并行工作,現(xiàn)在旗艦級顯卡都是百億以上的晶體管。


CPU呢,它的目的是盡可能快地在單個數(shù)據(jù)上執(zhí)行單個指令。由于它只需要使用單個數(shù)據(jù)單條指令,因此所需的晶體管數(shù)量要少得多,目前主流桌面CPU晶體管都是十億以下,和頂級GPU相差十倍以上,但它需要更大的指令集,更復雜的ALU(算術(shù)邏輯單元),更好的分支預(yù)測,更好的虛擬化架構(gòu)、更低的延遲等等。


另外,像我們的操作系統(tǒng)Windows,它是為x86處理器編寫的,它需要做的任務(wù)執(zhí)行的進程,在CPU上肯定更為高效,你想每個線程的任務(wù)并不相同,基本上難以并行化,完全發(fā)揮不了GPU的長處。


總而言之,CPU和GPU因為最初用來處理的任務(wù)就不同,所以設(shè)計上有不小的區(qū)別。CPU的運算速度取決于請了多么厲害的教授。教授處理復雜任務(wù)的能力是碾壓小學生的,但是對于沒那么復雜的任務(wù),還是頂不住人多。當然現(xiàn)在的GPU也能做一些稍微復雜的工作了,相當于升級成初中生高中生的水平。但還需要CPU來把數(shù)據(jù)喂到嘴邊才能開始干活,最終還是靠CPU來管的。

03

CPU+GPU并行計算的好處


一 、CPU多核轉(zhuǎn)到GPU并行化(適合算術(shù)密集型)


雖然GPU并不適用于所有問題的求解,但是我們發(fā)現(xiàn)那些對運算力量耗費巨大的科學命題都具備天然的特色。這類程序在運行時擁有極高的運算密度、并發(fā)線程數(shù)量和頻繁地存儲器訪問,無論是在音頻處理、視覺仿真還是到分子動力學模擬和金融風險評估領(lǐng)域都有大量涉及。這種問題如果能夠順利遷移到GPU為主的運算環(huán)境中,將為我們帶來更高效的解決方案。


傳統(tǒng)意義上的GPU不善于運行分支代碼,但是ATI和NVIDIA經(jīng)過長期改進其內(nèi)部架構(gòu)已經(jīng)使得GPU可以較為高效地運行分支、循環(huán)等復雜代碼。同時因為GPU屬于并行機范疇,相同的運算可以應(yīng)用到每個數(shù)據(jù)元素的時候,它們可以達到最好的性能。在CPU編程環(huán)境中,寫出每個輸入數(shù)據(jù)元素有不同數(shù)量的輸入的程序很容易,但在GPU這種并行機上還是有不少麻煩。


通用的數(shù)據(jù)結(jié)構(gòu)正是GPU編程的最大困難之一。CPU程序員經(jīng)常使用的數(shù)據(jù)結(jié)構(gòu)如列表和樹在GPU身上并不容易實現(xiàn)。GPU目前還不允許任意存儲器訪問,而且GPU運算單元的設(shè)計為主要操作是在表現(xiàn)位置和顏色的四維向量上。


不過這些并不能阻擋GPU編程的加速發(fā)展,因為GPU不是真的為通用計算而設(shè)計的,需要一些努力才能讓GPU高速地服務(wù)通用計算程序。這些努力前些年是程序員而單獨實現(xiàn)的,而隨著ATI和NVIDIA開始看到高性能計算市場的硬件需求,我們看到無論是Fermi架構(gòu)添加全能二級緩存和統(tǒng)一定址還是RV870架構(gòu)不斷優(yōu)化LDS并放大并發(fā)線程數(shù),這些都是GPU自身硬件體系為了適應(yīng)未來的運算環(huán)境而做出的變革。


二、并行化編程優(yōu)點


在GPU并行編程過程中,OpenCL是一個不錯的選擇。OpenCL是Open Computing Language(開放式計算語言)的簡稱,它是第一個為異構(gòu)系統(tǒng)的通用并行編程而產(chǎn)生的統(tǒng)一的、免費的標準。OpenCL支持由多核的CPU、GPU、Cell類型架構(gòu)以及信號處理器(DSP)等其他的并行設(shè)備組成的異構(gòu)系統(tǒng)。


OpenCL的出現(xiàn),使得軟件開發(fā)人員編寫高性能服務(wù)器、桌面計算系統(tǒng)以及手持設(shè)備的代碼變得更加快捷。OpenCL由用于編寫內(nèi)核程序的語言和定義并控制平臺的API組成,提供了基于任務(wù)和基于數(shù)據(jù)的兩種并行計算機制,使得GPU的計算不在僅僅局限于圖形領(lǐng)域,而能夠進行更多的并行計算。

但是,如果通過傳統(tǒng)的方法開發(fā)一個能夠運行在異構(gòu)平臺(在CPU和GPU的平臺)的程序是很難的。不同的廠商,不同的產(chǎn)品型號的GPU一般有著不一樣的架構(gòu),這樣要想開發(fā)出一款能夠高效的能夠運用不同平臺的所有計算資源的軟件是很難的。OpenCL的出現(xiàn)有效地解決了異構(gòu)平臺的問題。


OpenCL規(guī)范是由Khronos Group推出的,OpenCL程序不僅僅可以運行在多核的CPU上,也可以在GPU上進行執(zhí)行,這充分體現(xiàn)了OpenCL的跨平臺性和可移植性,也讓編程人員可以充分利用GPU的強大的并行計算能力,相對于CPU來說,GPU存在很多特點。


  • GPU擁有的核心的數(shù)量要比高端CPU的核心數(shù)量多很多。雖然GPU的每個運算核心沒有CPU的每個運算核心工作頻率高,但是GPU的總體性能-芯片面積比以及性能-功耗比比CPU高很多,所以在處理越多線程的并行計算的任務(wù)性能高很多。


  • GPU能夠通過大量并行線程之間的交織運行隱藏全局的延遲,除此之外GPU還擁有大量的寄存器、局部存儲器和cache等用來提升外部存儲的訪問性能。


  • 在傳統(tǒng)的CPU運算中,線程之間的切換是需要很大的開銷的,所以在開啟了大量線程的算法的效率是很低的。但是,在GPU中,線程之間的切換是很廉價的。


GPU的計算能力比CPU強很多。


三、OpenCL環(huán)境下并行化編程


OpenCL是一個開放的工業(yè)標準,它可以為CPU和GPU等不同的設(shè)備組成的異構(gòu)平臺進行編程。OpenCL是一種語言,也是一個為并行編程而提供的框架,編程人員可以利用OpenCL編寫出一個能夠在GPU上執(zhí)行的通用程序。


OpenCL的技術(shù)核心包好了下面的四種模型:

一是,平臺模型(Platform Model):OpenCL平臺模型定義了主機和設(shè)備的角色,為程序員寫在設(shè)備上執(zhí)行的OpenCL C函數(shù)(內(nèi)核)提供了一個抽象的硬件模型。平臺模型確定了主機上的處理器能夠協(xié)調(diào)執(zhí)行,而且存在一個或者多個處理器能夠執(zhí)行OpenCL C代碼(設(shè)備)。


二是,執(zhí)行模型(Execution Model):定義如何在主機上配置OpenCL環(huán)境以及內(nèi)核(kernel)是如何在設(shè)備上執(zhí)行的。這其中包括在主機上設(shè)置OpenCL上下文,提供主機和設(shè)備交互的機制,定義了內(nèi)核在設(shè)備上執(zhí)行的兵法模式。


三是,內(nèi)存模型(Memory Model):定義了內(nèi)核使用的抽象的內(nèi)存層次。


四是,編程模型(Programming Model):定義了并發(fā)模型如何讓映射到物理硬件。


OpenCL框架被分成平臺層API和運行時API,平臺層API允許應(yīng)用查詢平臺和設(shè)備,而且可以通過上下文來管理它們。運行時的API利用上下文去管理設(shè)備上的內(nèi)核的執(zhí)行。


四、OpenCL并行化調(diào)試工具


在利用OpenCL進行編程之后,我們可以使用gDEBugger進行調(diào)試,gDEBugger是一個高級的OpenCL和OpenGL調(diào)試器,分析器和內(nèi)存分析器。它可以完成其他工具無法完成的工作:追蹤在OpenCL和OpenGL之上的應(yīng)用程序的活動,并發(fā)現(xiàn)系統(tǒng)實現(xiàn)的內(nèi)部發(fā)生了什么。


程序員可以在以下的情況下使用gDEBugger:
  • 優(yōu)化OpenCL和OpenGL應(yīng)用程序性能;

  • 快速找到與OpenCL和OpenGL相關(guān)的bug;

  • 改善程序性能和魯棒性。


五、CPU和GPU共享記憶體空間


在過去的時間,雖然GPU和CPU已整合到同一個晶片上(GPGPU技術(shù)),但是晶片在運算時要定位記憶體的位置仍然得經(jīng)過繁雜的步驟,這是因為CPU和GPU的記憶體池仍然是獨立運作。之前為了解決兩者記憶體池獨立的運算問題,當CPU程式需要在GPU上進行部分運算時,CPU都必須從CPU的記憶體上復制所有的資料到GPU的記憶體上,而當GPU上的運算完成時,這些資料還得再復制回到CPU記憶體上。


這些步驟都會不斷耗費時間以及程式處理的效能。2012年,AMD就攜手ARM、高通、三星、聯(lián)發(fā)科等廠商成立HSA(Heterogeneous Systems Architecture)基金會,希望拓展CPU和GPU協(xié)同運算的新架構(gòu)。


日前,AMD進一步公開說明此運算架構(gòu)的新技術(shù):hUMA(heterogeneous Uniform Memory Access)。透過hUMA,CPU和GPU能共享同一個記憶體空間,并且CPU能夠直接存取GPU的記憶體位址,不必像過去得花工夫再將GPU的運算資料復寫到CPU上。近日,在HotChips會議上,AMD連續(xù)公布了桌面FX處理器使用的Steamroller架構(gòu)、面向低功耗平臺的Jaguar架構(gòu)等,但是這都不是AMD的終極目標,他們聲稱處理器速度的競爭已經(jīng)結(jié)束,未來屬于HSA。


六、未來發(fā)展趨勢


在計算機發(fā)展歷程中,為了解決各種特定的問題,不斷有互不兼容的計算模塊被加入系統(tǒng),卻很少從全局優(yōu)化的角度加以考察。計算機整體效率不高的現(xiàn)狀正是這種設(shè)計模式的直接后果。常見情況是軟件的計算負載被調(diào)度在一個并不適合當前任務(wù)的計算設(shè)備上低效執(zhí)行。HSA則展現(xiàn)了一種全新的體系架構(gòu),可以適應(yīng)各種特性的計算任務(wù)。


HSA版本可以在CPU和GPU之間無縫地共享數(shù)據(jù),而無需內(nèi)存拷貝和緩存刷新,因為任務(wù)以極低的開銷被調(diào)度到合適的處理器上。最終的結(jié)果是HSA版本的性能高出2.3倍,而功耗降低2.4倍。相較而言,無論是多核CPU、GPU、甚至非HSA方式的混合CPU和GPU都無法達到這樣的性能水平。同樣重要的是,無需轉(zhuǎn)換到迥異的編程模型,僅僅通過C++的簡單擴展就可以實現(xiàn)程序。

04

xPU都是些什么鬼?


▍APU


Accelerated Processing Unit。目前還沒有 AI 公司將自己的處理器命名為 APU,因為 AMD 早就用過 APU 這個名字了。APU 是 AMD 的一個處理器品牌。AMD 在一顆芯片上集成傳統(tǒng) CPU 和圖形處理器 GPU,任務(wù)可以靈活地在 CPU 和 GPU 間分配。AMD 將這種異構(gòu)結(jié)構(gòu)稱為加速處理單元,即 APU。


Audio Processing Unit。聲音處理器,顧名思義,處理聲音數(shù)據(jù)的專用處理器。不多說,生產(chǎn) APU 的芯片商有好多家。聲卡里都有。


▍BPU


Brain Processing Unit。地平線機器人(Horizon Robotics)以 BPU 來命名自家的 AI 芯片。相比于國內(nèi)外其他 AI 芯片 start-up 公司,地平線的第一代 BPU 走的相對保守的 TSMC 的 40nm 工藝。BPU 已經(jīng)被地平線申請了注冊商標,其他公司就別打 BPU 的主意了。


▍CPU


上文也進行了詳細的介紹。也不會有 AI 公司將自己的處理器命名為 CPU 的。不過,CPU 與 AI 處理器并不沖突。


▍DPU


Deep-Learning Processing Unit。深度學習處理器。創(chuàng)立于 2010 年的 wave computing 公司將其開發(fā)的深度學習加速處理器稱為 Dataflow Processing Unit(DPU),應(yīng)用于數(shù)據(jù)中心。


▍EPU


Emotion Processing Unit伴隨機情緒機器人而生,可以讓機器人具有情緒。從官方渠道消息看,EPU 本身并不復雜,也不需要做任務(wù)量巨大的神經(jīng)網(wǎng)絡(luò)計算,是基于 MCU 的芯片。


▍FPU


Floating Point Unit。浮點單元,不多做解釋了。現(xiàn)在高性能的 CPU、DSP、GPU 內(nèi)都集成了 FPU 做浮點運算。


▍GPU


Graphics Processing Unit。圖形處理器。GPU 原來最大的需求來自 PC 市場上各類游戲?qū)D形處理的需求。但是隨著移動設(shè)備的升級,在移動端也逐漸發(fā)展起來。


▍HPU


Holographic Processing Unit。全息處理器。Microsoft 專為自家 Hololens 應(yīng)用開發(fā)的。


▍IPU


Intelligence Processing Unit。智能處理器。以 IPU 命名芯片的有兩家公司——Graphcore和Mythic。


Image Cognition Processor。圖像認知處理器 ICP,加拿大公司 CogniVue 開發(fā)的用于視覺處理和圖像認知的 IP。


Image Processing Unit。圖像處理器。一些 SOC 芯片中將處理靜態(tài)圖像的模塊稱為 IPU。但是,IPU 不是一個常用的縮寫,更常見的處理圖像信號的處理器的縮寫為下面的 ISP。


Image Signal Processor。圖像信號處理器。這個話題也不是一個小話題。ISP 的功能,簡單的來說就是處理 camera 等攝像設(shè)備的輸出信號,實現(xiàn)降噪、Demosaicing、HDR、色彩管理等功能。


▍KPU


Knowledge Processing Unit。嘉楠耘智(canaan)號稱 2017 年將發(fā)布自己的 AI 芯片 KPU。嘉楠耘智要在 KPU 單一芯片中集成人工神經(jīng)網(wǎng)絡(luò)和高性能處理器,主要提供異構(gòu)、實時、離線的人工智能應(yīng)用服務(wù)。這又是一家向 AI 領(lǐng)域擴張的不差錢的礦機公司。作為一家做礦機芯片(自稱是區(qū)塊鏈專用芯片)和礦機的公司,嘉楠耘智累計獲得近 3 億元融資,估值近 33 億人民幣。據(jù)說嘉楠耘智近期將啟動股改并推進 IPO。


另:Knowledge Processing Unit 這個詞并不是嘉楠耘智第一個提出來的,早在 10 年前就已經(jīng)有論文和書籍講到這個詞匯了。只是,現(xiàn)在嘉楠耘智將 KPU 申請了注冊商標。


▍MPU


Micro Processing Unit。微處理器。MPU,CPU,MCU,這三個概念差不多,知道就行了。


Mind Processing Unit。意念處理器,聽起來不錯。「解讀腦電波」,「意念交流」,永恒的科幻話題。如果采集大量人類「思考」的腦電波數(shù)據(jù),通過深度學習,再加上強大的意念處理器 MPU,不知道能否成為 mind-reader。如果道德倫理上無法接受,先了解一下家里寵物貓寵物狗的「想法」也是可以的嗎。再進一步,從 mind-reader 發(fā)展為 mind-writer,持續(xù)升級之后,是不是就可以成為冰與火中的 Skinchanger?


▍NPU


Neural-Network Processing Unit。與 GPU 類似,神經(jīng)網(wǎng)絡(luò)處理器 NPU 已經(jīng)成為了一個通用名詞,而非某家公司的專用縮寫。由于神經(jīng)網(wǎng)絡(luò)計算的類型和計算量與傳統(tǒng)計算的區(qū)別,導致在進行 NN 計算的時候,傳統(tǒng) CPU、DSP 甚至 GPU 都有算力、性能、能效等方面的不足,所以激發(fā)了專為 NN 計算而設(shè)計 NPU 的需求。這里羅列幾個以 NPU 名義發(fā)布過產(chǎn)品的公司,以及幾個學術(shù)圈的神經(jīng)網(wǎng)絡(luò)加速器。


▍OPU


Optical-Flow Processing Unit。光流處理器。有需要用專門的芯片來實現(xiàn)光流算法嗎?不知道,但是,用 ASIC IP 來做加速應(yīng)該是要的。


▍PPU


Physical Processing Unit。物理處理器。要先解釋一下物理運算,就知道物理處理器是做什么的了。物理計算,就是模擬一個物體在真實世界中應(yīng)該符合的物理定律。具體的說,可以使虛擬世界中的物體運動符合真實世界的物理定律,可以使游戲中的物體行為更加真實,例如布料模擬、毛發(fā)模擬、碰撞偵測、流體力學模擬等。開發(fā)物理計算引擎的公司有那么幾家,使用 CPU 來完成物理計算,支持多種平臺。但是,Ageia 應(yīng)該是唯一一個使用專用芯片來加速物理計算的公司。Ageia 于 2006 年發(fā)布了 PPU 芯片 PhysX,還發(fā)布了基于 PPU 的物理加速卡,同時提供 SDK 給游戲開發(fā)者。2008 年被 NVIDIA 收購后,PhysX 加速卡產(chǎn)品被逐漸取消,現(xiàn)在物理計算的加速功能由 NVIDIA 的 GPU 實現(xiàn),PhysX SDK 被 NVIDIA 重新打造。


▍QPU


Quantum Processing Unit。量子處理器。量子計算機也是近幾年比較火的研究方向。作者承認在這方面所知甚少??梢躁P(guān)注這家成立于 1999 年的公司 D-Wave System。DWave 大概每兩年可以將其 QPU 上的量子位個數(shù)翻倍一次。


▍RPU


Resistive Processing Unit。阻抗處理單元 RPU。這是 IBM Watson Research Center 的研究人員提出的概念,真的是個處理單元,而不是處理器。RPU 可以同時實現(xiàn)存儲和計算。利用 RPU 陣列,IBM 研究人員可以實現(xiàn) 80TOPS/s/W 的性能。


Ray-tracing Processing Unit。光線追蹤處理器。Ray tracing 是計算機圖形學中的一種渲染算法,RPU 是為加速其中的數(shù)據(jù)計算而開發(fā)的加速器。現(xiàn)在這些計算都是 GPU 的事情了。


▍SPU


Streaming Processing Unit。流處理器。流處理器的概念比較早了,是用于處理視頻數(shù)據(jù)流的單元,一開始出現(xiàn)在顯卡芯片的結(jié)構(gòu)里??梢哉f,GPU 就是一種流處理器。甚至,還曾經(jīng)存在過一家名字為「Streaming Processor Inc」的公司,2004 年創(chuàng)立,2009 年,隨著創(chuàng)始人兼董事長被挖去 NVIDIA 當首席科學家,SPI 關(guān)閉。


Speech-Recognition Processing Unit。語音識別處理器,SPU 或 SRPU。這個縮寫還沒有公司拿來使用?,F(xiàn)在的語音識別和語義理解主要是在云端實現(xiàn)的,比如科大訊飛??拼笥嶏w最近推出了一個翻譯機,可以將語音傳回云端,做實時翻譯,內(nèi)部硬件沒有去專門了解。和語音識別相關(guān)的芯片如下。


Space Processing Unit??臻g處理器。全景攝像,全息成像,這些還都是處理我們的生活空間。當面對廣闊的太陽系、銀河系這些宇宙空間,是不是需要新的更強大的專用處理器呢?飛向 M31 仙女座星系,對抗黑暗武士,只靠 x86 估計是不行的。


▍TPU


Tensor Processing Unit。Google 的張量處理器。2016 年 AlphaGo 打敗李世石,2017 年 AlphaGo 打敗柯潔,兩次人工智能催化事件給芯片行業(yè)帶來的沖擊無疑就是 TPU 的出現(xiàn)和解密。Google 在 2017 年 5 月的開發(fā)者 I/O 大會上正式公布了 TPU2,又稱 Cloud TPU。


▍UPU


Universe Processing Unit。宇宙處理器。和 Space Processing Unit 相比,你更喜歡哪個?


▍VPU


Vision Processing Unit。視覺處理器 VPU 也有希望成為通用名詞。作為現(xiàn)今最火熱的 AI 應(yīng)用領(lǐng)域,計算機視覺的發(fā)展的確能給用戶帶來前所未有的體驗。為了處理計算機視覺應(yīng)用中遇到的超大計算量,多家公司正在為此設(shè)計專門的 VPU。


Visual Processing Unit。


Video Processing Unit。視頻處理器。處理動態(tài)視頻而不是圖像,例如進行實時編解碼。


Vector Processing Unit。向量處理器。標量處理器、向量處理器、張量處理器,這是以處理器處理的數(shù)據(jù)類型進行的劃分。


▍WPU


Wearable Processing Unit。一家印度公司 Ineda Systems 在 2014 年大肆宣傳了一下他們針對 IOT 市場推出的 WPU 概念,獲得了高通和三星的注資。Ineda Systems 研發(fā)的這款「Dhanush WPU」分為四個級別,可適應(yīng)普通級別到高端級別的可穿戴設(shè)備的運算需求,可以讓可穿戴設(shè)備的電池達到 30 天的持續(xù)續(xù)航、減少 10x 倍的能耗。但是,一切似乎在 2015 年戛然而止,沒有了任何消息。只在主頁的最下端有文字顯示,Ineda 將 WPU 申請了注冊商標。


Wisdom Processing Unit。智慧處理器。


▍ZPU


Zylin CPU。挪威公司 Zylin 的 CPU 的名字。為了在資源有限的 FPGA 上能擁有一個靈活的微處理器,Zylin 開發(fā)了 ZPU。ZPU 是一種 stack machine(堆棧結(jié)構(gòu)機器),指令沒有操作數(shù),代碼量很小,并有 GCC 工具鏈支持,被稱為「The worlds smallest 32 bit CPU with GCC toolchain」。Zylin 在 2008 年將 ZPU 在 opencores 上開源。有組織還將 Arduino 的開發(fā)環(huán)境進行了修改給 ZPU 用。


▍其他非 xPU 的 AI 芯片


寒武紀科技(Cambricon)?中科院背景的寒武紀并沒有用 xPU 的方式命名自家的處理器。媒體的文章既有稱之為深度學習處理器 DPU 的,也有稱之為神經(jīng)網(wǎng)絡(luò)處理器 NPU 的。陳氏兄弟的 DianNao 系列芯片架構(gòu)連續(xù)幾年在各大頂級會議上刷了好幾篇 best paper,為其公司的成立奠定了技術(shù)基礎(chǔ)。寒武紀 Cambricon-X 指令集是其一大特色。目前其芯片 IP 已擴大范圍授權(quán)集成到手機、安防、可穿戴設(shè)備等終端芯片中。據(jù)流傳,2016 年就已拿到一億元訂單。在一些特殊領(lǐng)域,寒武紀的芯片將在國內(nèi)具有絕對的占有率。最新報道顯示,寒武紀又融了 1 億美元。


Intel Intel 在智能手機芯片市場的失利,讓其痛定思痛,一改當年的猶豫,在 AI 領(lǐng)域的幾個應(yīng)用方向上接連發(fā)了狠招。什么狠招呢,就是三個字:買,買,買。在數(shù)據(jù)中心/云計算方面,167 億美金收購的 Altera,4 億美金收購 Nervana;在移動端的無人機、安防監(jiān)控等方面,收購 Movidius(未公布收購金額);在 ADAS 方面,153 億美金收購 Mobileye。Movidius 在前面 VPU 部分進行了介紹,這里補充一下 Nervana 和 Mobileye(基于視覺技術(shù)做 ADAS 方案,不是單純的視覺處理器,所以沒寫在 VPU 部分)。


Nervana Nervana ?成立于 2014 年,總部在 SanDiego,以提供 AI 全棧軟件平臺 Nervana Cloud 為主要業(yè)務(wù)。和硬件扯上關(guān)系的是,Nervana Cloud 除了支持 CPU、GPU 甚至 Xeon Phi 等后臺硬件外,還提供有自家定制的 Nervana Engine 硬件架構(gòu)。根據(jù) The Next Platform 的報道「Deep Learning Chip Upstart Takes GPUs to Task」,Nervana Engine 使用 TSMC 28nm 工藝,算力 55 TOPS。報道發(fā)布不到 24 小時,就被 Intel 收購了,全部 48 位員工并入 Intel。Intel 以 Nervana Engine 為核心打造了 Crest Family 系列芯片。項目代碼為「Lake Crest」的芯片是第一代 Nervana Engine,「Knights Crest」為第二代。哦,對了,Nervana 的 CEO 在創(chuàng)立 Nervana 之前,在高通負責一個神經(jīng)形態(tài)計算的研究項目,就是上面提到的 Zeroth。


Mobileye 一家基于計算機視覺做 ADAS 的以色列公司,成立于 1999 年,總部在耶路撒冷。Mobileye 為自家的 ADAS 系統(tǒng)開發(fā)了專用的芯片——EyeQ 系列。2015 年,Tesla 宣布正在使用 Mobileye 的芯片(EyeQ3)和方案。但是,2016 年 7 月,Tesla 和 Mobileye 宣布將終止合作。隨后,Mobile 于 2017 年被 Intel 以$153 億收入囊中,現(xiàn)在是 Intel 的子公司。Mobileye 的 EyeQ4 使用了 28nm SOI 工藝,其中用了 4 個 MIPS 的大 CPU core 做主控和算法調(diào)度以及一個 MIPS 的小 CPU core 做外設(shè)控制,集成了 10 個向量處理器(稱為 VMP,Vector Microcode Processor)來做數(shù)據(jù)運算(有點眼熟,回去看看 Movidius 部分)。Mobileye 的下一代 EyeQ5 將使用 7nm FinFET 工藝,集成 18 個視覺處理器,并且為了達到自動駕駛的 level 5 增加了硬件安全模塊。


比特大陸 Bitmain 比特大陸設(shè)計的全定制礦機芯片性能優(yōu)越,讓其大賺特賺。在賣礦機芯片之余,比特大陸自己也挖挖礦??傊?,芯片設(shè)計能力非凡、土豪有錢的比特大陸對標 NVIDIA 的高端 GPU 芯片,任性地用 16nm 的工藝開啟了自家的 AI 芯片之路。芯片測試已有月余,據(jù)傳功耗 60W 左右,同步在招攬產(chǎn)品、市場人員。最近的推文爆出了這款 AI 芯片的名字:「智子(Sophon)」,來自著名的《三體》,可見野心不小,相信不久即將正式發(fā)布。


華為&海思?市場期待華為的麒麟 970 已經(jīng)很長時間了,內(nèi)置 AI 加速器已成公開的秘密,據(jù)傳用了寒武紀的 IP,就等秋季發(fā)布會了。還是據(jù)傳,海思的 HI3559 用了自己研發(fā)的深度學習加速器。


蘋果?蘋果正在研發(fā)一款 AI 芯片,內(nèi)部稱為「蘋果神經(jīng)引擎」(Apple Neural Engine)。這個消息大家并不驚訝,大家想知道的就是,這個 ANE 會在哪款 iphone 中用上。


高通?高通除了維護其基于 Zeroth 的軟件平臺,在硬件上也動作不斷。收購 NXP 的同時,據(jù)傳高通也一直在和 Yann LeCun 以及 Facebook 的 AI 團隊保持合作,共同開發(fā)用于實時推理的新型芯片。


END

來源:網(wǎng)絡(luò)

版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系刪除。

推薦閱讀

飛機上一般是什么操作系統(tǒng)?

高速CAN、容錯CAN、LIN總線有什么區(qū)別?

大佬終于把鴻蒙OS講明白了,收藏了!

免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

嵌入式ARM

掃描二維碼,關(guān)注更多精彩內(nèi)容

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉