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