百度發(fā)布XPU:AI云計算加速芯片(基于FPGA,256核心)
剛剛在加州Hot Chips大會(huì )上,百度發(fā)布XPU,這是一款256核、基于FPGA的云計算加速芯片。合作伙伴是賽思靈(Xilinx)。百度也在這次的大會(huì )上,透露了關(guān)于這款芯片的更多架構方面的細節。
本文引用地址:http://dyxdggzs.com/article/201708/363484.htm過(guò)去幾年,百度在深度學(xué)習領(lǐng)域,尤其是基于GPU的深度學(xué)習領(lǐng)域取得了不錯的進(jìn)展。而且,百度也在開(kāi)發(fā)被稱(chēng)作XPU的新處理器。
百度研究員歐陽(yáng)劍表示,百度設計的芯片架構突出多樣性,著(zhù)重于計算密集型、基于規則的任務(wù),同時(shí)確保效率、性能和靈活性的最大化。今天,他在Hot Chips大會(huì )上與來(lái)自FPGA廠(chǎng)商Xilinx的人士一同發(fā)布了XPU。

△ 百度去年宣布采用Xilinx Kintex UltraScale FPGA加速數據中心的額機器學(xué)習應用
XPU的目標是在性能和效率之間實(shí)現平衡,并處理多樣化的計算任務(wù)。FPGA加速器本身很擅長(cháng)處理某些計算任務(wù),但隨著(zhù)許多小內核交織在一起,多樣性程度將會(huì )上升。
歐陽(yáng)劍表示:“FPGA是高效的,可以專(zhuān)注于特定計算任務(wù),但缺乏可編程能力。傳統CPU擅長(cháng)通用計算任務(wù),尤其是基于規則的計算任務(wù),同時(shí)非常靈活。GPU瞄準了并行計算,因此有很強大的性能。XPU則關(guān)注計算密集型、基于規則的多樣化計算任務(wù),希望提高效率和性能,并帶來(lái)類(lèi)似CPU的靈活性?!?/p>
目前XPU有所欠缺的仍是可編程能力,而這也是涉及FPGA時(shí)普遍存在的問(wèn)題。到目前為止,XPU尚未提供編譯器。不過(guò)歐陽(yáng)劍表示,該團隊將會(huì )很快開(kāi)發(fā)一款編譯器。
歐陽(yáng)劍還表示為了支持矩陣、卷積,以及其他大大小小的內核,我們需要一個(gè)配備高帶寬低延時(shí)內存,以及高帶寬I/O接口的大型數學(xué)陣列。FPGA中XPU的DSP單元提供了并行處理能力,片外DDR4和HBM接口優(yōu)化了數據傳輸,而片上SRAM則提供了必要的存儲特性。
在Micro Benchmark測試中,對于計算密集型、常規內存訪(fǎng)問(wèn)的計算任務(wù),XPU的效率與x86內核類(lèi)似。對于數據同步的計算任務(wù),XPU的可擴展性應當可以進(jìn)一步優(yōu)化。而對于沒(méi)有數據同步的計算任務(wù),XPU的可擴展性與核心數量呈線(xiàn)性關(guān)系。
這就是問(wèn)題所在。如前所述,XPU仍然沒(méi)有配備編譯器。這款處理器在FPGA上實(shí)現,通過(guò)訂制的邏輯電路提供指令。這些小核心類(lèi)似于CPU,開(kāi)發(fā)者只能使用匯編語(yǔ)言,而所有的執行都由主機來(lái)控制。整個(gè)流程包括拆分計算任務(wù),編寫(xiě)XPU代碼,調用專(zhuān)用的邏輯函數,從而在Linux平臺上進(jìn)行編譯和運行。


△ XPU具有256個(gè)內核,集成了一個(gè)共享內存用于數據同步。所有內核都運行在600MHz。
歐陽(yáng)劍稱(chēng):“在百度,我們使用FPGA已有多年時(shí)間。我們的數據中心、云計算平臺和自動(dòng)駕駛項目中有大量FPGA。我們非常了解FPGA的優(yōu)缺點(diǎn),以及如何優(yōu)化。憑借XPU的大型核心,我們專(zhuān)注于多樣化的計算任務(wù)?!?/p>
去年有媒體報道了基于百度深度學(xué)習SDA的SQL加速器。當時(shí)的數據流基于SA架構。根據歐陽(yáng)劍的描述,這也是XPU內存帶寬和延時(shí)優(yōu)勢的核心。
歐陽(yáng)劍同時(shí)展示了今年完成的一些benchmark測試,但信息非常粗略。不過(guò),這只是百度第一次公開(kāi)展示XPU。
如果XPU被證明可以用于A(yíng)I、數據分析、云計算和無(wú)人駕駛,那么百度可能需要用ASIC技術(shù)去開(kāi)發(fā)XPU。
評論