隨著云計(jì)算,大數(shù)據(jù)和人工智能技術(shù)發(fā)展,邊緣計(jì)算發(fā)揮著越來(lái)越重要的作用,補(bǔ)充數(shù)據(jù)中心算力需求。計(jì)算架構(gòu)要求多樣化,需要不同的CPU架構(gòu)來(lái)滿(mǎn)足不斷增長(zhǎng)的算力需求,同時(shí)需要GPU,NPU和FPGA等技術(shù)加速特定領(lǐng)域的算法和專(zhuān)用計(jì)算。以此,不同CPU架構(gòu),不同加速技術(shù)應(yīng)用而生。
理解 GPU 和 CPU 之間區(qū)別的一種簡(jiǎn)單方式是比較它們?nèi)绾翁幚砣蝿?wù)。CPU 由專(zhuān)為順序串行處理而優(yōu)化的幾個(gè)核心組成,而 GPU 則擁有一個(gè)由數(shù)以千計(jì)的更小、更高效的核心(專(zhuān)為同時(shí)處理多重任務(wù)而設(shè)計(jì))組成的大規(guī)模并行計(jì)算架構(gòu)。
CPU是一個(gè)有多種功能的優(yōu)秀領(lǐng)導(dǎo)者。它的優(yōu)點(diǎn)在于調(diào)度、管理、協(xié)調(diào)能力強(qiáng),計(jì)算能力則位于其次。而GPU相當(dāng)于一個(gè)接受CPU調(diào)度的“擁有大量計(jì)算能力”的員工。
GPU可以利用多個(gè)CUDA核心來(lái)做并行計(jì)算,而CPU只能按照順序進(jìn)行串行計(jì)算,同樣運(yùn)行3000次的簡(jiǎn)單運(yùn)算,CPU需要3000個(gè)時(shí)鐘周期,而配有3000個(gè)CUDA核心的GPU運(yùn)行只需要1個(gè)時(shí)鐘周期。
簡(jiǎn)而言之,CPU擅長(zhǎng)統(tǒng)領(lǐng)全局等復(fù)雜操作,GPU擅長(zhǎng)對(duì)大數(shù)據(jù)進(jìn)行簡(jiǎn)單重復(fù)操作。CPU是從事復(fù)雜腦力勞動(dòng)的教援,而GPU是進(jìn)行大量并行計(jì)算的體力勞動(dòng)者。那么,GPU的重要參數(shù)有哪些呢?
CUDA核心;CUDA核心數(shù)量決定了GPU并行處理的能力,在深度學(xué)習(xí)、機(jī)器學(xué)習(xí)等并行計(jì)算類(lèi)業(yè)務(wù)下,CUDA核心多意味著性能好一些
顯存容量:其主要功能就是暫時(shí)儲(chǔ)存GPU要處理的數(shù)據(jù)和處理完畢的數(shù)據(jù)。顯存容量大小決定了GPU能夠加載的數(shù)據(jù)量大小。(在顯存已經(jīng)可以滿(mǎn)足客戶(hù)業(yè)務(wù)的情況下,提升顯存不會(huì)對(duì)業(yè)務(wù)性能帶來(lái)大的提升。在深度學(xué)習(xí)、機(jī)器學(xué)習(xí)的訓(xùn)練場(chǎng)景,顯存的大小決定了一次能夠加載訓(xùn)練數(shù)據(jù)的量,在大規(guī)模訓(xùn)練時(shí),顯存會(huì)顯得比較重要。
顯存位寬:顯存在一個(gè)時(shí)鐘周期內(nèi)所能傳送數(shù)據(jù)的位數(shù),位數(shù)越大則瞬間所能傳輸?shù)臄?shù)據(jù)量越大,這是顯存的重要參數(shù)之一。
顯存頻率:一定程度上反應(yīng)著該顯存的速度,以MHz(兆赫茲)為單位,顯存頻率隨著顯存的類(lèi)型、性能的不同而不同。顯存頻率和位寬決定顯存帶寬。
顯存帶寬:指顯示芯片與顯存之間的數(shù)據(jù)傳輸速率,它以字節(jié)/秒為單位。顯存帶寬是決定顯卡性能和速度最重要的因素之一。
其他指標(biāo):除了顯卡通用指標(biāo)外,NVIDIA還有一些針對(duì)特定場(chǎng)景優(yōu)化的指標(biāo),例如TsnsoCore、RTCoreRT等能力。例如TensenCore專(zhuān)門(mén)用于加速深度學(xué)習(xí)中的張量運(yùn)算。
評(píng)估一個(gè)顯卡的性能不能單純看某一個(gè)指標(biāo)的性能,而是結(jié)合顯卡的個(gè)指標(biāo)及客戶(hù)業(yè)務(wù)需求的綜合性能。
GPU是協(xié)處理器,與CPU端存儲(chǔ)是分離的,故GPU運(yùn)算時(shí)必須先將CPU端的代碼和數(shù)據(jù)傳輸?shù)紾PU,GPU才能執(zhí)行kernel函數(shù)。涉及CPU與GPU通信,其中通信接口PCIe的版本和性能會(huì)直接影響通信帶寬。
GPU的另一個(gè)重要參數(shù)是浮點(diǎn)計(jì)算能力。浮點(diǎn)計(jì)數(shù)是利用浮動(dòng)小數(shù)點(diǎn)的方式使用不同長(zhǎng)度的二進(jìn)制來(lái)表示一個(gè)數(shù)字,與之對(duì)應(yīng)的是定點(diǎn)數(shù)。同樣的長(zhǎng)度下浮點(diǎn)數(shù)能表達(dá)的數(shù)字范圍相比定點(diǎn)數(shù)更大,但浮點(diǎn)數(shù)并不能精確表達(dá)所有實(shí)數(shù),而只能采用更加接近的不同精度來(lái)表達(dá)。
FP32單精度計(jì)算
單精度的浮點(diǎn)數(shù)中采用4個(gè)字節(jié)也就是32位二進(jìn)制來(lái)表達(dá)一個(gè)數(shù)字,1位符號(hào),8位指數(shù),23位小數(shù),有效位數(shù)為7位。
FP64雙精度計(jì)算
雙精度浮點(diǎn)數(shù)采用8個(gè)字節(jié)也就是64位二進(jìn)制來(lái)表達(dá)一個(gè)數(shù)字,1位符號(hào),11位指數(shù),52位小數(shù),有效位數(shù)為16位。
FP16半精度計(jì)算
半精度浮點(diǎn)數(shù)采用2個(gè)字節(jié)也就是16位二進(jìn)制來(lái)表達(dá)一個(gè)數(shù)字, 1位符號(hào)、5位指數(shù)、10位小數(shù),有效位數(shù)為3位。
因?yàn)椴捎貌煌粩?shù)的浮點(diǎn)數(shù)的表達(dá)精度不一樣,所以造成的計(jì)算誤差也不一樣。
對(duì)于需要處理的數(shù)字范圍大而且需要精確計(jì)算的科學(xué)計(jì)算來(lái)說(shuō),就要求采用雙精度浮點(diǎn)數(shù),例如:計(jì)算化學(xué),分子建模,流體動(dòng)力學(xué)。
對(duì)于常見(jiàn)的多媒體和圖形處理計(jì)算、深度學(xué)習(xí)、人工智能等領(lǐng)域,32位的單精度浮點(diǎn)計(jì)算已經(jīng)足夠了。
對(duì)于要求精度更低的機(jī)器學(xué)習(xí)等一些應(yīng)用來(lái)說(shuō),半精度16位浮點(diǎn)數(shù)就可以甚至8位浮點(diǎn)數(shù)就已經(jīng)夠用了。
對(duì)于浮點(diǎn)計(jì)算來(lái)說(shuō),CPU可以同時(shí)支持不同精度的浮點(diǎn)運(yùn)算,但在GPU里針對(duì)單精度和雙精度就需要各自獨(dú)立的計(jì)算單元,一般在GPU里支持單精度運(yùn)算的單精度ALU(算術(shù)邏輯單元)稱(chēng)之為FP32 core,而把用作雙精度運(yùn)算的雙精度ALU稱(chēng)之為DP unit或者FP64 core,在Nvidia不同架構(gòu)不同型號(hào)的GPU之間,這兩者數(shù)量的比例差異很大。
談到GPU,Nvidia是行業(yè)技術(shù)的領(lǐng)先者和技術(shù)奠基者,其產(chǎn)品主要分以下幾個(gè)系列,分別面向不同的應(yīng)用類(lèi)型和用戶(hù)群體。
? GeForce系列:主要面向3D游戲應(yīng)用的GeForce系列,幾個(gè)高端型號(hào)分別是GTX1080TI、Titan XP和GTX1080,分別采用最新的Pascal架構(gòu)和Maxwell架構(gòu);最新的型號(hào)RTX 2080TI,Turing架構(gòu)。因?yàn)槊嫦蛴螒蛲婕遥瑢?duì)雙精度計(jì)算能力沒(méi)有需求,出貨量也大,單價(jià)相比采用相同架構(gòu)的Tesla系列產(chǎn)品要便宜很多,也經(jīng)常被用于深度學(xué)習(xí)、人工智能、計(jì)算機(jī)視覺(jué)等。
? Quadro系列:主要面向?qū)I(yè)圖形工作站應(yīng)用,具備強(qiáng)大的數(shù)據(jù)運(yùn)算與圖形、圖像處理能力。因此常常被用在計(jì)算機(jī)輔助設(shè)計(jì)及制造CAD/CAM、動(dòng)畫(huà)設(shè)計(jì)、科學(xué)研究(城市規(guī)劃、地理地質(zhì)勘測(cè)、遙感等)、平面圖像處理、模擬仿真等。
? GPU加速計(jì)算Tesla系列:專(zhuān)用GPU加速計(jì)算,Tesla本是第一代產(chǎn)品的架構(gòu)名稱(chēng),后來(lái)演變成了這個(gè)系列產(chǎn)品的名稱(chēng)了,包括V100、P100、K40/K80、M40/M60等幾個(gè)型號(hào)。K系列更適合用作HPC科學(xué)計(jì)算,M系列則更適合機(jī)器學(xué)習(xí)用途。
Tesla系列高端型號(hào)GPU加速器能更快地處理要求超級(jí)嚴(yán)格的 HPC 與超大規(guī)模數(shù)據(jù)中心的工作負(fù)載。從能源探測(cè)到深度學(xué)習(xí)等應(yīng)用場(chǎng)合,處理速度比使用傳統(tǒng) CPU 快了一個(gè)數(shù)量級(jí)。
? GPU虛擬化系列:Nvidia專(zhuān)門(mén)針對(duì)虛擬化環(huán)境應(yīng)用設(shè)計(jì)GRID GPU產(chǎn)品,該產(chǎn)品采用基于 NVIDIA Kepler 架構(gòu)的 GPU,首次實(shí)現(xiàn)了 GPU 的硬件虛擬化。這意味著,多名用戶(hù)可以共享單一 GPU。
GRID GPU產(chǎn)品主要包含K1和K2兩個(gè)型號(hào),同樣采用Kepler架構(gòu),實(shí)現(xiàn)了GPU的硬件虛擬化,可以讓多個(gè)用戶(hù)共享使用同一張GPU卡,適用于對(duì)3D性能有要求的VDI或云環(huán)境下多租戶(hù)的GPU加速計(jì)算場(chǎng)景。
GPU散熱方式分為散熱片和散熱片配合風(fēng)扇的形式,也叫作主動(dòng)式散熱和被動(dòng)式散熱方式。
一般一些工作頻率較低的顯卡采用的都是被動(dòng)式散熱,這種散熱方式就是在顯示芯片上安裝一個(gè)散熱片即可,并不需要散熱風(fēng)扇。因?yàn)檩^低工作頻率的顯卡散熱量并不是很大,沒(méi)有必要使用散熱風(fēng)扇,這樣在保障顯卡穩(wěn)定工作的同時(shí),不僅可以降低成本,而且還能減少使用中的噪音。
NVIDIA Tesla Family采用被動(dòng)散熱、QUADRO Family和GeForce Family采用主動(dòng)散熱。
NVIDIA GPU架構(gòu)的發(fā)展類(lèi)似Intel的CPU,針對(duì)不同場(chǎng)景和技術(shù)革新,經(jīng)歷了不同架構(gòu)的演進(jìn)。
Turing架構(gòu)里,一個(gè)SM中擁有64個(gè)半精度,64個(gè)單精度,8個(gè)Tensor core,1個(gè)RT core。
Kepler架構(gòu)里,F(xiàn)P64單元和FP32單元的比例是1:3或者1:24;K80。
Maxwell架構(gòu)里,這個(gè)比例下降到了只有1:32;型號(hào)M10/M40。
Pascal架構(gòu)里,這個(gè)比例又提高到了1:2(P100)但低端型號(hào)里仍然保持為1:32,型號(hào)Tesla P40、GTX 1080TI/Titan XP、Quadro GP100/P6000/P5000
Votal架構(gòu)里,F(xiàn)P64單元和FP32單元的比例是1:2;型號(hào)有Tesla V100、GeForce TiTan V、Quadro GV100專(zhuān)業(yè)卡。
深度學(xué)習(xí)是模擬人腦神經(jīng)系統(tǒng)而建立的數(shù)學(xué)網(wǎng)絡(luò)模型,這個(gè)模型的最大特點(diǎn)是,需要大數(shù)據(jù)來(lái)訓(xùn)練。因此,對(duì)電腦處理器的要求,就是需要大量的并行的重復(fù)計(jì)算,GPU正好有這個(gè)專(zhuān)長(zhǎng),時(shí)勢(shì)造英雄,因此,GPU就出山擔(dān)當(dāng)重任了。
訓(xùn)練:我們可以把深度學(xué)習(xí)的訓(xùn)練看成學(xué)習(xí)過(guò)程。人工神經(jīng)網(wǎng)絡(luò)是分層的、是在層與層之間互相連接的、網(wǎng)絡(luò)中數(shù)據(jù)的傳播是有向的。訓(xùn)練神經(jīng)網(wǎng)絡(luò)的時(shí)候,訓(xùn)練數(shù)據(jù)被輸入到網(wǎng)絡(luò)的第一層。然后所有的神經(jīng)元,都會(huì)根據(jù)任務(wù)執(zhí)行的情況,根據(jù)其正確或者錯(cuò)誤的程度如何,分配一個(gè)權(quán)重參數(shù)(權(quán)值)。
推理:就是深度學(xué)習(xí)把從訓(xùn)練中學(xué)習(xí)到的能力應(yīng)用到工作中去。不難想象,沒(méi)有訓(xùn)練就沒(méi)法實(shí)現(xiàn)推斷。我們?nèi)艘彩沁@樣,通過(guò)學(xué)習(xí)來(lái)獲取知識(shí)、提高能力。深度神經(jīng)網(wǎng)絡(luò)也是一樣,訓(xùn)練完成后,并不需要其訓(xùn)練時(shí)那樣的海量資源。
高性能計(jì)算應(yīng)用程序涵蓋了物理、生物科學(xué)、分子動(dòng)力學(xué)、化學(xué)和天氣預(yù)報(bào)等各個(gè)領(lǐng)域。也都是通過(guò)GPU實(shí)現(xiàn)加速的。
-
gpu
+關(guān)注
關(guān)注
28文章
4753瀏覽量
129057 -
人工智能
+關(guān)注
關(guān)注
1792文章
47425瀏覽量
238948 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8425瀏覽量
132770
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論