GPU超算完整體驗(yàn) AMD FirePro 通用計(jì)算特性
使用顯卡或者說(shuō)GPU執(zhí)行通用計(jì)算早就已經(jīng)不是什么新鮮的事情,這得益于整個(gè)行業(yè)近年來(lái)不遺余力的推動(dòng),例如AMD、Apple、NVIDIA、Intel 等都把 GPU 執(zhí)行非圖形處理作為新業(yè)務(wù)的重中之重來(lái)推廣。
雖然說(shuō)GPU通用計(jì)算不再是新鮮事,但是對(duì)于許多人而言,可能也就僅限于聽(tīng)過(guò)而已,其中的一些關(guān)鍵信息缺并不十分了解,這并不奇怪,因?yàn)?ldquo;聽(tīng)過(guò)”的人當(dāng)中其實(shí)大部分都是游戲玩家,就算對(duì)這方面有更多認(rèn)識(shí)(例如懂得寫OpenCL 代碼)的人來(lái)說(shuō),也未必能對(duì)廠商為什么會(huì)推出專門的超算卡有充分的認(rèn)知。
我們以AMDFirePro為例,這個(gè)產(chǎn)品線最初是叫 FireGL,本是針對(duì)圖形工作站為主的應(yīng)用,因?yàn)閳D形工作站的最突出特點(diǎn)就是使用 OpenGL 作為圖形 API。
后來(lái)AMD推出了FireStream 產(chǎn)品線,這個(gè)產(chǎn)品線類似于競(jìng)爭(zhēng)廠商的 Tesla 產(chǎn)品線,為了統(tǒng)一品牌推廣,AMD 將 FireStream 和 FireGL 產(chǎn)品線合并,現(xiàn)在分別名為 FirePro S 系列和 FirePro W 系列,S 和 W 分別是英文中服務(wù)器和工作站的首字母。
拿下2014年度Green500 ***名的 AMD FirePro S9150 服務(wù)器超算卡
AMDFireProS9150采用了特別設(shè)計(jì)的被動(dòng)散熱方案
從外觀上看S和W 的區(qū)別其實(shí)很簡(jiǎn)單,分別就是 S 是被動(dòng)散熱,而 W 則是主動(dòng)散熱,而且 W 是主打傳統(tǒng)圖形工作站應(yīng)用的,其中要 W8X00 級(jí)別以上的產(chǎn)品才具備較高的浮點(diǎn)計(jì)算性能,往下的 W 系列顯卡不強(qiáng)調(diào)雙精度性能(至少目前是這樣)。
除了雙精度性能的區(qū)別外,W8X00級(jí)別以上的產(chǎn)品一般還會(huì)配備較大的卡載內(nèi)存,這樣的設(shè)計(jì)不僅有利于復(fù)雜場(chǎng)景的工作站應(yīng)用,而且對(duì)通用計(jì)算來(lái)說(shuō)也是有非常大的助益。
在GordenBell(DEC公司早期雇員之一,早期的 PDP 小型機(jī)設(shè)計(jì)者,現(xiàn)在美國(guó)計(jì)算機(jī)協(xié)會(huì)設(shè)立的 Gorden Bell 獎(jiǎng)被視作計(jì)算機(jī)界的諾貝爾獎(jiǎng),于每年 SC 大會(huì)上頒發(fā))所撰寫的《Great and Big Ideas in Computer Structures》一文中,關(guān)于資源平衡有這樣的說(shuō)法:
按照上世紀(jì)60年代提出的 Amdahl 法則,指令速度、內(nèi)存容量、位元速率的性能平衡,應(yīng)該做到每秒一條指令對(duì)應(yīng)一個(gè)字節(jié)的一級(jí)內(nèi)存大小和每秒一個(gè)位元的內(nèi)存帶寬(這些指標(biāo)是相對(duì)值,換個(gè)說(shuō)法就是每周期一條指令的性能需要一個(gè)字節(jié)的一級(jí)內(nèi)存空間和每個(gè)周期一個(gè)位元的內(nèi)存帶寬來(lái)達(dá)致性能平衡)。
到了90年代,在科學(xué)計(jì)算領(lǐng)域,要實(shí)現(xiàn)每秒浮點(diǎn)操作(flops)與內(nèi)存的平衡,就得做到不低于1flops/字節(jié) 到 1flops/8字節(jié)。
在多級(jí)內(nèi)存方面,美國(guó)LosAlamosNational Laboratory(洛斯阿拉莫斯國(guó)家實(shí)驗(yàn)室)曾經(jīng)對(duì)若干個(gè)“重大挑戰(zhàn)”的計(jì)算問(wèn)題進(jìn)行了評(píng)估,得出的結(jié)論是:每個(gè)一級(jí)內(nèi)存字節(jié)需要 1/15 到 5000 個(gè)二級(jí)內(nèi)存字節(jié)才能達(dá)致平衡。
按照這樣的說(shuō)法,如果GPU里有2.8 MiB 內(nèi)存(例如 AMD GPU 里稱作 Local Data Store 的那塊小內(nèi)存),就需要 14 GiB 片外內(nèi)存才能在科學(xué)計(jì)算上做到“性能平衡”,看到這里,也就不能難解釋為何 AMD FirePro W9100 和 FirePro S9150 搭配高達(dá) 16 GiB 的卡載內(nèi)存了——這不是隨便拍下腦袋決定的。
AMDFirePro產(chǎn)品針對(duì)超算的一個(gè)特別設(shè)計(jì)就是提供了ECC 的支持,而這個(gè)特性在游戲卡中是不提供的。
超算執(zhí)行的操作往往涉及大量的數(shù)據(jù)處理,但是受到宇宙背景射線的影響,存儲(chǔ)芯片非常容易因此而導(dǎo)致位元錯(cuò)誤,例如8(00111000)會(huì)變成 9(0011 1001)。
根據(jù)美國(guó)NASA(國(guó)家航空航天局)發(fā)布的一份名為“In-FlightObservationsof Multiple-Bit Upset in DRAMs”的文件有這樣的統(tǒng)計(jì)結(jié)果:
在1997年發(fā)射的卡西尼-惠更斯號(hào)土星探測(cè)器內(nèi)有兩個(gè)相同的飛行記錄儀,它們各有一個(gè)2.5 GiB 采用商用動(dòng)態(tài)內(nèi)存芯片的內(nèi)存陣列。在頭兩年半的飛行中,飛船的工程自動(dòng)遙測(cè)報(bào)告顯示每天都持續(xù)有大約 280 個(gè)位元錯(cuò)誤,而在頭一個(gè)月的時(shí)候更是可能因?yàn)樘?yáng)粒子活動(dòng),出現(xiàn)了單日錯(cuò)誤數(shù)增加超過(guò) 4 倍的現(xiàn)象發(fā)生。
這樣的現(xiàn)象會(huì)隨著DRAM密度的增加而進(jìn)一步加重,這意味著隨著工藝進(jìn)步,芯片越來(lái)越小、耗電越來(lái)越低,同面積存儲(chǔ)器發(fā)生錯(cuò)誤的次數(shù)越多。
GCN微架構(gòu)在芯片級(jí)提供了硬件ECC,所有的片上緩存都受到ECC 技術(shù)的保護(hù),能偵測(cè)并矯正片上緩存受宇宙射線影響導(dǎo)致的單個(gè)位元錯(cuò)誤。
在片外內(nèi)存或者說(shuō)顯卡卡載內(nèi)存上,AMD為FirePro提供了一個(gè)驅(qū)動(dòng)面板開(kāi)關(guān),允許用家自行決定是否啟用 ECC 技術(shù),用來(lái)確保這部份數(shù)據(jù)存儲(chǔ)和傳輸可靠性。
當(dāng)然,由于GDDR5缺乏ECC,因此這里就涉及到一些額外的數(shù)據(jù)傳輸進(jìn)行驗(yàn)證,容量和帶寬會(huì)因此受到影響,相應(yīng)顯卡的性能會(huì)有一定的影響,影響幅度取決于具體的應(yīng)用。
和速度受到一定影響相比,計(jì)算結(jié)果是否準(zhǔn)確才是超算最為關(guān)心的,尤其是大規(guī)模集群計(jì)算,這點(diǎn)和游戲卡只是輸出至顯示器、幾乎不存在數(shù)據(jù)復(fù)用的情況很不一樣。
說(shuō)到這,就不得不提一個(gè)容易讓人誤解的問(wèn)題:交火并行渲染。Crossfire是AMD的并行渲染技術(shù),不過(guò)它并不能讓未指定設(shè)備的超算代碼自動(dòng)以并行方式運(yùn)行。
交火的時(shí)候,驅(qū)動(dòng)程序會(huì)自動(dòng)安排好渲染幀或者中間數(shù)據(jù)的處理,然后副卡把渲染好的數(shù)據(jù)傳輸?shù)街骺ɡ镞M(jìn)行后續(xù)的處理(例如合并為最終輸出的色彩緩存數(shù)據(jù))。
但是超算的執(zhí)行方式并不是這樣的,原因在于數(shù)據(jù)復(fù)用情況要復(fù)雜許多,理論上它也不需要畫面輸出操作,故此交火和超算是沒(méi)啥關(guān)系的,因此在FirePro上你是看不到游戲卡的那個(gè)交火橋接插頭,因?yàn)槎嗫ú⑿型耆怯沙愦a開(kāi)發(fā)人員或者編譯器來(lái)實(shí)現(xiàn)的。
綜上所述,你可以看到:
1、藍(lán)寶PGSAMDFirePro 和游戲卡在硬件上存在板卡級(jí)的區(qū)別。
2、藍(lán)寶PGSAMDFirePro 和游戲卡存在軟件驅(qū)動(dòng)的重要區(qū)別。
3、藍(lán)寶PGSAMDFirePro 有多種提供給超算用戶的方案,例如偏工作站應(yīng)用、強(qiáng)調(diào)單精度性能耗電比的 W 系列以及強(qiáng)調(diào)雙精度性能、偏向服務(wù)器、注重機(jī)箱型制的 S 系列。
不過(guò)除了這幾點(diǎn)外,還有一點(diǎn)需要在***提一下,那就是產(chǎn)品生命周期方面,F(xiàn)irePro提供了至少3年的售后支持,而游戲卡一般也就是 1 年,更重要的是,F(xiàn)irePro 面向的超算是技術(shù)含量遠(yuǎn)遠(yuǎn)高于游戲的應(yīng)用,非常需要來(lái)自廠商的***手技術(shù)支持,AMD 在這方面為 FirePeo 提供了相應(yīng)的有力支持,經(jīng)常有培訓(xùn)班提供,為用戶打開(kāi)了價(jià)值提升的空間。