△ 百度解釋了FPGA上AI和數(shù)據(jù)分析工作負(fù)載的情況
在加州Hot Chips大會(huì)上,百度發(fā)布XPU,,這是一款256核,、基于FPGA的云計(jì)算加速芯片,。合作伙伴是賽思靈(Xilinx)。百度也在這次的大會(huì)上,,透露了關(guān)于這款芯片的更多架構(gòu)方面的細(xì)節(jié),。
過(guò)去幾年,百度在深度學(xué)習(xí)領(lǐng)域,,尤其是基于GPU的深度學(xué)習(xí)領(lǐng)域取得了不錯(cuò)的進(jìn)展,。而且,百度也在開(kāi)發(fā)被稱作XPU的新處理器,。
百度研究員歐陽(yáng)劍表示,,百度設(shè)計(jì)的芯片架構(gòu)突出多樣性,著重于計(jì)算密集型,、基于規(guī)則的任務(wù),,同時(shí)確保效率,、性能和靈活性的最大化。今天,,他在Hot Chips大會(huì)上與來(lái)自FPGA廠商Xilinx的人士一同發(fā)布了XPU,。
△ 百度去年宣布采用Xilinx Kintex UltraScale FPGA加速數(shù)據(jù)中心的額機(jī)器學(xué)習(xí)應(yīng)用
XPU的目標(biāo)是在性能和效率之間實(shí)現(xiàn)平衡,,并處理多樣化的計(jì)算任務(wù),。FPGA加速器本身很擅長(zhǎng)處理某些計(jì)算任務(wù),但隨著許多小內(nèi)核交織在一起,,多樣性程度將會(huì)上升,。
歐陽(yáng)劍表示:“FPGA是高效的,可以專注于特定計(jì)算任務(wù),,但缺乏可編程能力,。傳統(tǒng)CPU擅長(zhǎng)通用計(jì)算任務(wù),尤其是基于規(guī)則的計(jì)算任務(wù),,同時(shí)非常靈活,。GPU瞄準(zhǔn)了并行計(jì)算,因此有很強(qiáng)大的性能,。XPU則關(guān)注計(jì)算密集型,、基于規(guī)則的多樣化計(jì)算任務(wù),希望提高效率和性能,,并帶來(lái)類似CPU的靈活性,。”
目前XPU有所欠缺的仍是可編程能力,,而這也是涉及FPGA時(shí)普遍存在的問(wèn)題,。到目前為止,XPU尚未提供編譯器,。不過(guò)歐陽(yáng)劍表示,,該團(tuán)隊(duì)將會(huì)很快開(kāi)發(fā)一款編譯器。
歐陽(yáng)劍還表示
為了支持矩陣,、卷積,,以及其他大大小小的內(nèi)核,我們需要一個(gè)配備高帶寬低延時(shí)內(nèi)存,,以及高帶寬I/O接口的大型數(shù)學(xué)陣列,。FPGA中XPU的DSP單元提供了并行處理能力,片外DDR4和HBM接口優(yōu)化了數(shù)據(jù)傳輸,,而片上SRAM則提供了必要的存儲(chǔ)特性,。
在Micro Benchmark測(cè)試中,對(duì)于計(jì)算密集型,、常規(guī)內(nèi)存訪問(wèn)的計(jì)算任務(wù),,XPU的效率與x86內(nèi)核類似,。對(duì)于數(shù)據(jù)同步的計(jì)算任務(wù),XPU的可擴(kuò)展性應(yīng)當(dāng)可以進(jìn)一步優(yōu)化,。而對(duì)于沒(méi)有數(shù)據(jù)同步的計(jì)算任務(wù),,XPU的可擴(kuò)展性與核心數(shù)量呈線性關(guān)系。
這就是問(wèn)題所在,。如前所述,,XPU仍然沒(méi)有配備編譯器。這款處理器在FPGA上實(shí)現(xiàn),,通過(guò)訂制的邏輯電路提供指令,。這些小核心類似于CPU,開(kāi)發(fā)者只能使用匯編語(yǔ)言,,而所有的執(zhí)行都由主機(jī)來(lái)控制,。整個(gè)流程包括拆分計(jì)算任務(wù),編寫(xiě)XPU代碼,,調(diào)用專用的邏輯函數(shù),,從而在Linux平臺(tái)上進(jìn)行編譯和運(yùn)行。
△ XPU具有256個(gè)內(nèi)核,,集成了一個(gè)共享內(nèi)存用于數(shù)據(jù)同步,。所有內(nèi)核都運(yùn)行在600MHz。
歐陽(yáng)劍稱:“在百度,,我們使用FPGA已有多年時(shí)間,。我們的數(shù)據(jù)中心、云計(jì)算平臺(tái)和自動(dòng)駕駛項(xiàng)目中有大量FPGA,。我們非常了解FPGA的優(yōu)缺點(diǎn),,以及如何優(yōu)化。憑借XPU的大型核心,,我們專注于多樣化的計(jì)算任務(wù),。”
去年有媒體報(bào)道了基于百度深度學(xué)習(xí)SDA的SQL加速器,。當(dāng)時(shí)的數(shù)據(jù)流基于SA架構(gòu),。根據(jù)歐陽(yáng)劍的描述,這也是XPU內(nèi)存帶寬和延時(shí)優(yōu)勢(shì)的核心,。
歐陽(yáng)劍同時(shí)展示了今年完成的一些benchmark測(cè)試,,但信息非常粗略。不過(guò),,這只是百度第一次公開(kāi)展示XPU,。
如果XPU被證明可以用于AI、數(shù)據(jù)分析、云計(jì)算和無(wú)人駕駛,,那么百度可能需要用ASIC技術(shù)去開(kāi)發(fā)XPU,。