IT運維 | 異構(gòu)計算簡介1
2020-05-18 21:31 作者:admin 瀏覽量:
IT運維 | 異構(gòu)計算簡介
北京
IT外包服務(wù)商為您提供專業(yè)的
IT外包服務(wù)
隨著人工智能的發(fā)展,越來越多的計算平臺都采用了異構(gòu)計算。作為
IT運維必須要了解這種運算架構(gòu),以便更好的服務(wù)我們的客戶。異構(gòu)計算主要是指使用不同類型指令集和體系架構(gòu)的計算單元組成系統(tǒng)的計算方式。異構(gòu)計算已經(jīng)無處不在,從超算系統(tǒng)到桌面到云到終端,都包含不同類型指令集和體系架構(gòu)的計算單元,下面先從幾個系統(tǒng)了解下異構(gòu)計算超算系統(tǒng)。
天河-2:包括16,000個計算節(jié)點,每個節(jié)點 2*Xeon (IveBridge)+3*Phi。Total 3,120,000 Core, Linpack測試基準(zhǔn)為33.86 petaFLOPS ,Power 17.6 megawatts。編程框架:OpenMC/OpeMP。
Mac Pro: Intel Xeon E5 (6/8/2 cores) + Dual AMD FirePro D500 GPU (1526 stream processors, 2.2 teraflops, 3-way 4k video)。編程框架:CUDA、OpenCL、Metal。
Amazon Linux GPU Instances g2.8xlarge: 4 GPU (each with 1,536 CUDA cores and 4 GB of video memory and the ability to 4* 1080p@30fps), 32 vCPU 。編程框架:CUDA,OpenCL。
Qualcomm Snapdragon 820 : octa-core CPU+ Adreno 530 GPU+ Hexagon 680 DSP,編程框架:MARE,OpenCL。
顯然,異構(gòu)計算系統(tǒng)包含了不同異構(gòu)計算單元,如CPU、GPU、DSP、ASIC、FPGA等。除了異構(gòu)硬件單元,不同異構(gòu)計算平臺采用的編程框架也不盡相同。那么,為什么要用異構(gòu)計算?異構(gòu)計算優(yōu)勢主要提現(xiàn)在性能、性價比、功耗、面積等指標(biāo)上,在特定場景,異構(gòu)計算往往會表現(xiàn)出驚人的計算優(yōu)勢。
·
Google Brain:1,000臺服務(wù)器 (16,000 CPU核) 模擬simulating a model of the brain with a billion synapses.
·
Nvidia:three GPU-accelerated servers: 12 GPUs in total, 18,432 CUDA processor cores.
The Nvidia solution uses 100 times less energy, and a 100 times less cost.
除OpenCL之外,還有很多編程框架?異構(gòu)并行計算框架是充分發(fā)揮異構(gòu)硬件性能和屏蔽硬件差異的關(guān)鍵,但目前業(yè)界不存在一個統(tǒng)一標(biāo)準(zhǔn)。OpenCL是業(yè)界主流公司推動的異構(gòu)并行計算編程標(biāo)準(zhǔn)。OpenCL屬于性能層,業(yè)界很多產(chǎn)能層框架對接OpenCL。
· Intel、ARM、高通的異構(gòu)硬件均支持OpenCL軟件設(shè)計。
· Intel Xeon+FPGA異構(gòu)芯片支持OpenCL。
Nvidia CUDA、Apple Metal是針對各自異構(gòu)硬件設(shè)計的計算私有框架,是封閉系統(tǒng),但都有廣泛的開發(fā)者支持。CUDA和OpenCL在設(shè)計理念上非常相近,但Nvidia GPU性能業(yè)界最強,有能力通過CUDA綁定用戶,比如深度學(xué)習(xí)上Nvidia GPU效果最好,開發(fā)者只能選擇CUDA。異構(gòu)硬件的一個趨勢是SOC上集成多種異構(gòu)硬件。比如高通820芯片集成了ARM64+GPU+DSP等多種形態(tài)。
· 但傳統(tǒng)的計算框架只針對一種硬件設(shè)計,無法支持多形態(tài)。
· 高通設(shè)計了Symphony異構(gòu)并行計算框架來發(fā)揮多形態(tài)異構(gòu)硬件性能,同時適應(yīng)未來芯片的演進(jìn)。
OpenCL異構(gòu)編程技術(shù)得到各大廠家的大力支持,可屏蔽異構(gòu)硬件與OS差異,簡化異構(gòu)核編程復(fù)雜度,OpenCL由蘋果提出,得到業(yè)界大多數(shù)廠商的支持:如Nvidia、Apple、AMD、ARM、INTEL、TI等等,支撐GPGPU、DSP、FPGA等通用硬件加速器。
· 優(yōu)勢:OpenCL是針對GPGPU大規(guī)模數(shù)據(jù)并行的特性所開發(fā)的底層編程框架,屏蔽各廠商GPU之間的差異,與芯片設(shè)計協(xié)同演進(jìn),C語言的擴(kuò)展。
· 不足:性能的可移植性不足。
OpenCL編程模型中隱含了很多的硬件特征,比如并行粒度、內(nèi)存模型、存儲層次、資源粒度、內(nèi)存帶寬和延遲、ISA差異等,這導(dǎo)致不同的加速器上的OpenCL代碼都要重新思考上述特征。隨著FPGA的廣泛使用,成本逐步降低,作為軟件定義實現(xiàn)快速在線指令優(yōu)化,對整個編譯器、運行框架、OS產(chǎn)生巨大影響。新架構(gòu)對軟件的挑戰(zhàn):
· 1)支持CPU+FPGA融合并行的計算框架,包括FPGA編譯和高層語言設(shè)計。
· 2)大規(guī)模分布式FPGA資源管理與調(diào)度
· 3)高性能FPGA算法庫。
異構(gòu)計算主要是指使用不同類型指令集和體系架構(gòu)的計算單元組成系統(tǒng)的計算方式。常見的計算單元類別包括CPU、GPU、DSP、ASIC、FPGA等。FPGA和GPU/CPU對比具有以下不同:
· 1.軟件定義的硬件架構(gòu):GPU/CPU硬件固定,其并行性設(shè)計是適應(yīng)固定硬件。而FPGA的硬件邏輯可以通過軟件動態(tài)改變,從硬件的角度來適配軟件,從而獲得更高的計算性能。
· 2.更高并行性、能效比:FPGA擁有更豐富的計算資源組件,從而能夠滿足更多并行計算需求。并且能夠充分發(fā)掘軟件算法中的并行性,降低功耗。
同時,新架構(gòu)融合CPU+FPGA,將成為一種發(fā)展趨勢:
· 1. 異構(gòu)核首次作為一等公民:通過CPU+FPGA的融合設(shè)計,由主機(jī)+外設(shè)的Offloading模式轉(zhuǎn)變?yōu)楫悩?gòu)多核片上系統(tǒng)設(shè)計,CPU與FPGA地位等同,通信方式由板級轉(zhuǎn)向片內(nèi)。
· 2. OpenCL帶來了FPGA的編程革命:提高了FPGA的可編程性,將程序員從復(fù)雜的硬件電路設(shè)計中解救出來,更專注于系統(tǒng)/算法的設(shè)計。
總結(jié):CPU主要是做通用控制以及計算的,整個算術(shù)邏輯單元ALU占整個芯片面積不到5%。CPU里面包含很多控制邏輯,預(yù)測,Cache等邏輯,所以算力不高,但是什么都能做。
· CPU主要特點:主頻高,但核數(shù)有限;邏輯控制和算術(shù)運算單元、具有大量緩存,主要功能在于管理和調(diào)度任務(wù)。
GPU專門用來做浮點運算,只能作為協(xié)處理器配合CPU完成特定計算。但GPU天然假設(shè)所有運算可以并行(GPU具有數(shù)千個計算核),整個芯片90%都是運算邏輯。所以算力非常高,通常是CPU的幾十上百倍。
· GPU特點:高并發(fā)(幾千個核并),強浮點能力和高顯存帶寬。
FPGA主頻低但集成大量計算單元,流水線并行和數(shù)據(jù)并行,具備硬件編程和加速和特定應(yīng)用IP核。然而,ASIC是針對某一場景優(yōu)化的專用處理單元,硬件基本不可編程,采用多個IP集成,但有高性價比和能效比。
以上內(nèi)容由北京艾銻無限科技發(fā)展有限公司整理