如何選擇合適的GPU服務(wù)器
隨著互聯(lián)網(wǎng)的飛速發(fā)展,云計(jì)算,云渲染,云服務(wù)等平臺(tái)興起,各種算力平臺(tái)也開(kāi)始嶄露頭角,深度學(xué)習(xí)似乎不再遙不可及,對(duì)于剛剛?cè)腴T(mén)深度學(xué)習(xí)的小白,在高性?xún)r(jià)比的基礎(chǔ)上挑選一個(gè)合適的云服務(wù)器是非常重要的,本文就從CPU與GPU的區(qū)別以及如何去選擇GPU服務(wù)器的角度展開(kāi)。
一、什么是CPU?什么是GPU?
雖然大部分看到這篇文章的小伙伴都對(duì)這兩個(gè)基礎(chǔ)概念非常清楚了,但是本文還是選擇贅述一下
1、所謂CPU即中央處理器(CPU,central processing unit,縮寫(xiě):CPU),是作為整個(gè)計(jì)算機(jī)系統(tǒng)的運(yùn)算和控制的核心,是信息處理、程序運(yùn)行的最終執(zhí)行單元。CPU是最核心的部件,也是整個(gè)數(shù)據(jù)處理的最根本的部件。2、所謂GPU即圖形處理器(GPU,Graphics Processing Unit,縮寫(xiě):GPU),又稱(chēng)顯示核心、視覺(jué)處理器、顯示芯片,是一種專(zhuān)門(mén)在個(gè)人電腦、工作站、游戲機(jī)和一些移動(dòng)設(shè)備(如平板電腦、智能手機(jī)等)上做圖像和圖形相關(guān)運(yùn)算工作的微處理器。
當(dāng)然,上面是百度給出的解釋?zhuān)浅5牟弧叭诵曰?/p>
GPU 與 與 CPU區(qū)別:
從 GPU 與 CPU 架構(gòu)對(duì)比圖可以看出,
CPU 的邏輯運(yùn)算單元較少,控制器占比較大;GPU 的邏輯運(yùn)算單元小而多,控制器功能簡(jiǎn)單,緩存也較少。
GPU 的眾多邏輯運(yùn)算單元呈矩陣排列,可以并行處理數(shù)量眾多但較為簡(jiǎn)單的處理任務(wù),圖像運(yùn)算處理就可以進(jìn)行這樣的拆解。
GPU 單個(gè)運(yùn)算單元處理能力弱于 CPU,但是數(shù)量眾多的運(yùn)算單元可以同時(shí)工作,當(dāng)面對(duì)高強(qiáng)度并行計(jì)算時(shí),其性能要優(yōu)于 CPU。
GPU擅長(zhǎng)對(duì)大數(shù)據(jù)進(jìn)行簡(jiǎn)單重復(fù)的運(yùn)算,特別是對(duì)浮點(diǎn)數(shù)的運(yùn)算以及矩陣的運(yùn)算(圖像在內(nèi)存中以矩陣的形式存儲(chǔ))
架構(gòu)對(duì)比圖(圖源:百度)
二、CPU服務(wù)器和GPU服務(wù)器之間的區(qū)別
1、指令集不同
家用或者工作用電腦配備的普通CPU,通常為CISC復(fù)雜指令集,追求指令集的大而全,盡量把各種常用的功能集成到一塊,但是調(diào)用速度和命中率相比服務(wù)器CPU較低一些。服務(wù)器CPU的指令一般是采用的RISC(精簡(jiǎn)指令集)。這種設(shè)計(jì)的好處就是針對(duì)性更強(qiáng),可以根據(jù)不同的需求進(jìn)行專(zhuān)門(mén)的優(yōu)化,能效更高。
2、緩存不同
緩存也決定著CPU的性能,由于服務(wù)器CPU對(duì)運(yùn)算性能要求高,所以服務(wù)器CPU往往應(yīng)用了最先進(jìn)的工藝和技術(shù),并且配備了一二三級(jí)緩存,運(yùn)行能力更強(qiáng)。服務(wù)器CPU很早就用上了3級(jí)緩存。普通cpu是近幾年才用上了緩存技術(shù)。
3、接口不同
服務(wù)器cpu和普通cpu接口往往不同,目前服務(wù)器CPU接口大多為Socket 771、Socket 775、LGA 2011、LGA 1150相比普通通CPU接口盡管不少相同,但實(shí)際上搭配的主板并不相同。服務(wù)器cpu配備的主板通常沒(méi)有顯卡卡槽,因?yàn)镃PU自帶的核心顯卡即可滿(mǎn)足需求,并且其CPU總線帶寬比家用CPU高。
4、穩(wěn)定性要求不同
服務(wù)器CPU是為了長(zhǎng)時(shí)間穩(wěn)定工作而存在的,基本都是設(shè)計(jì)為能常年連續(xù)工作的。服務(wù)器CPU相比家用CPU在穩(wěn)定性和可靠性方面有著天壤之別,一般服務(wù)器都是365天開(kāi)機(jī)運(yùn)行,只有偶爾停機(jī)維護(hù),對(duì)穩(wěn)定性要求極高。普通CPU則是按72個(gè)小時(shí)連續(xù)工作而設(shè)計(jì)的,家用電腦在不使用時(shí),我們還是習(xí)慣讓他保持關(guān)機(jī)狀態(tài),一般每天都會(huì)關(guān)機(jī)。
5、多路互聯(lián)支持不同
多路互聯(lián)是服務(wù)器上的一項(xiàng)技術(shù),比如服務(wù)器主板可以同時(shí)擁有多個(gè)CPU插槽,可以同時(shí)安裝多個(gè)CPU,這個(gè)就是CPU多路互聯(lián)技術(shù),這項(xiàng)技術(shù)目前只有服務(wù)器CPU才支持,普通家用電腦,一塊主板只可以安裝一個(gè)CPU,不支持多路互聯(lián)。
三、如何選擇GPU服務(wù)器
首先,我們需要了解下,GPU主要分三種接口,目前市面上可以進(jìn)行交付的主要是傳統(tǒng)總線接口、PCIe接口和NV-Link接口的。
NV-Link接口類(lèi)型的GPU典型代表是NVIDIA V100,采用 SXM2接口。在DGX-2上有SXM3的接口。NV-Link總線標(biāo)準(zhǔn)的GPU服務(wù)器可以分為兩類(lèi),一類(lèi)是NVIDIA公司設(shè)計(jì)的DGX超級(jí)計(jì)算機(jī),另一類(lèi)是合作伙伴設(shè)計(jì)的NV-Link接口的服務(wù)器。DGX超級(jí)計(jì)算機(jī)不僅僅提供硬件,還有相關(guān)的軟件和服務(wù)。
傳統(tǒng)總線接口的GPU,目前主流的有這幾款產(chǎn)品,比如 PCI-e接口的V100、 P40(P開(kāi)頭指的是上一代PASCAL架構(gòu))和P4,以及最新的圖靈架構(gòu)T4等。其中比較薄和只占一個(gè)槽位的P4和T4,通常用于Inference,目前也已經(jīng)有成熟的模型進(jìn)行推理和識(shí)別。
傳統(tǒng)PCI-e總線的GPU服務(wù)器也分為兩類(lèi),一類(lèi)是OEM服務(wù)器,比如曙光、浪潮、華為等其他國(guó)際品牌;另一類(lèi)是非OEM的服務(wù)器,也包括很多種類(lèi)。選擇服務(wù)器時(shí)除了分類(lèi),還要考慮性能指標(biāo),比如精度、顯存類(lèi)型、顯存容量以及功耗等,同時(shí)也會(huì)有一些服務(wù)器是需要水冷、降噪或者對(duì)溫度、移動(dòng)性等等方面有特殊的要求,就需要特殊的服務(wù)器。
其次選擇GPU服務(wù)器時(shí)首先要考慮業(yè)務(wù)需求來(lái)選擇適合的GPU型號(hào)。
在HPC高性能計(jì)算中還需要根據(jù)精度來(lái)選擇,比如有的高性能計(jì)算需要雙精度,這時(shí)如果使用P40或者P4就不合適,只能使用V100或者P100;
同時(shí)也會(huì)對(duì)顯存容量有要求,比如石油或石化勘探類(lèi)的計(jì)算應(yīng)用對(duì)顯存要求比較高;
還有些對(duì)總線標(biāo)準(zhǔn)有要求,因此選擇GPU型號(hào)要先看業(yè)務(wù)需求。
GPU服務(wù)器人工智能領(lǐng)域的應(yīng)用也比較多。
在教學(xué)場(chǎng)景中,對(duì)GPU虛擬化的要求比較高。根據(jù)課堂人數(shù),一個(gè)老師可能需要將GPU服務(wù)器虛擬出30甚至60個(gè)虛擬GPU,因此批量Training對(duì)GPU要求比較高,通常用V100做GPU的訓(xùn)練。模型訓(xùn)練完之后需要進(jìn)行推理,因此推理一般會(huì)使用P4或者T4,少部分情況也會(huì)用V100。
當(dāng)GPU型號(hào)選定后,再考慮用什么樣GPU的服務(wù)器。這時(shí)我們需要考慮以下幾種情況:
在邊緣服務(wù)器上需要根據(jù)量來(lái)選擇T4或者P4等相應(yīng)的服務(wù)器,同時(shí)也要考慮服務(wù)器的使用場(chǎng)景,比如火車(chē)站卡口、機(jī)場(chǎng)卡口或者公安卡口等;在中心端做Inference時(shí)可能需要V100的服務(wù)器,需要考慮吞吐量以及使用場(chǎng)景、數(shù)量等。
需要考慮客戶(hù)本身使用人群和IT運(yùn)維能力,對(duì)于BAT這類(lèi)大公司來(lái)說(shuō),他們自己的運(yùn)營(yíng)能力比較強(qiáng),這時(shí)會(huì)選擇通用的PCI-e服務(wù)器;而對(duì)于一些IT運(yùn)維能力不那么強(qiáng)的客戶(hù),他們更關(guān)注數(shù)字以及數(shù)據(jù)標(biāo)注等,我們稱(chēng)這類(lèi)人為數(shù)據(jù)科學(xué)家,選擇GPU服務(wù)器的標(biāo)準(zhǔn)也會(huì)有所不同。
需要考慮配套軟件和服務(wù)的價(jià)值。
要考慮整體GPU集群系統(tǒng)的成熟程度以及工程效率,比如像DGX這種GPU一體化的超級(jí)計(jì)算機(jī),它有非常成熟的從底端的操作系統(tǒng)驅(qū)動(dòng)Docker到其他部分都是固定且優(yōu)化過(guò)的,這時(shí)效率就比較高。