在New Orleans舉辦的超級計算機(jī)大會(SC14)上,Convey Computer公司介紹了很多關(guān)于HLL(高級語言)的標(biāo)準(zhǔn)擴(kuò)展和利用FPGA實現(xiàn)加速的應(yīng)用等內(nèi)容。Convey公司制造了一整套的基于FPGA的硬件加速器板卡,支持PCIe計算接口和服務(wù)器系統(tǒng)包裹Wolverine(”金剛狼”),這些設(shè)計都是基于Xilinx Virtex-7系列FPGA芯片。Convey公司是目前幾個能夠提供加速器板卡商業(yè)成品的提供商之一,加速器板卡也是這次Xilinx公司推出的SDAccel開發(fā)環(huán)境的一部分。( 為OpenCL,C, C++打造類似于CPU/GPU的軟件開發(fā)環(huán)境)
基于FPGA的加速器應(yīng)用Wolverine(”金剛狼”),支持PCIe系統(tǒng)
在SC14會議上Convey公司的展臺采用信息海報的形式,提供了大量關(guān)于使用高級語言(HLL)來加速基于FPGA的應(yīng)用代碼的開發(fā)。下面我將引用海報的重點部分,以防你錯過了Convey公司的展臺,或者不能親自來New Orleans參加SC14會議:
以前加速器應(yīng)用設(shè)計主要使用硬件描述語言(HDL)例如Verilog來進(jìn)行程序設(shè)計。這就需要專門的技能和工具軟件,這就限制了這個器件不能被更多的人所接觸到。
最近,加速器編程標(biāo)準(zhǔn)已經(jīng)推出,主要為便攜式應(yīng)用的設(shè)計提供支持,這個標(biāo)準(zhǔn)主要面對不同提供商的加速器。這里我們介紹一下由Convey Computer公司開發(fā)的OpenMP編譯器原型和由Xilinx公司開發(fā)的OpenCL編譯器.(也就是Xilinx公司推出SDAccel開發(fā)工具軟件)
FPGA是一塊可編程的集成電路,通過編程可以實現(xiàn)不同的電路設(shè)計,這些設(shè)計是通過硬件描述語言(HDL)例如Verilog具體實現(xiàn)的,通過硬件綜合工具將硬件描述語言代碼轉(zhuǎn)換成比特流文件,下載到器件中完成對電路的配置。
Convey公司的OpenMP編譯器采用OpenMP4.0加速器指令,將它們轉(zhuǎn)換為公司的混合線程(HT)來表示。中間語言包括將基于C++和實時運行庫的高級編程指令相結(jié)合,主要是為了能夠訪問系統(tǒng)的底層設(shè)備。這個工具集將HT轉(zhuǎn)化為Verilog語言,很多工作都是自動完成的,包括創(chuàng)建復(fù)用并行單元和轉(zhuǎn)化工作順序表。生成的Verilog語言代碼和由硬件平臺提供的系統(tǒng)底層驅(qū)動代碼會被綜合生成比特流文件,最后將比特流文件下載到處理器中,完成配置。
Xilinx公司SDAccel開發(fā)軟件能夠?qū)崿F(xiàn)將OpenCL應(yīng)用代碼編譯成二進(jìn)制文件,這些二進(jìn)制文件是能夠被處理器所識別的,并執(zhí)行,編譯過程采用標(biāo)準(zhǔn)的編程開發(fā)環(huán)境。下面的插圖展示了這兩種編譯器是怎么工作的:
使用高級編程工具將需要更少的代碼來實現(xiàn)功能的描述,這就可以讓程序員將更多的精力放在算法的研究上,而不是為搭建一些底層驅(qū)動傷腦筋。
例如,手工實現(xiàn)的Graph500廣度優(yōu)先搜索內(nèi)核使用Verilog語言大概包括超過4500多行的代碼,同樣的內(nèi)核實現(xiàn)使用混合線程(HT)中間過渡語言只需要883行代碼。使用OpneMP版本的內(nèi)核只需304行C語言代碼,使用OpenMP實現(xiàn)的內(nèi)核性能是9.7 GTEPS,使用Verilog語言的內(nèi)核性能是11.4GTEPS,使用HT語言的內(nèi)核性能是11.2GTEPS,相比較而言還是可以接受的。
從這個例子所顯示出的意義來看,使用OpenMP代碼實現(xiàn)的簡單內(nèi)核性能完全可以與Verilog語言實現(xiàn)的內(nèi)核性能相匹敵,例如Graph500,使用OpenMP實現(xiàn)的版本可以達(dá)到Verilog語言實現(xiàn)版本性能的85%,但是卻只需要更少的代碼量。
這次對高級語言標(biāo)準(zhǔn)擴(kuò)展的介紹允許將基于FPGA的加速器應(yīng)用的程序設(shè)計大大簡化?;谶@些標(biāo)準(zhǔn)的編程工具可以生成高度并行的硬件設(shè)計,而且性能完全可以與采用底層硬件描述語言實現(xiàn)的設(shè)計性能相匹敵。
---> END <---
-
超級計算機(jī)
+關(guān)注
關(guān)注
2文章
472瀏覽量
42472 -
C語言
+關(guān)注
關(guān)注
180文章
7632瀏覽量
141713 -
加速器板卡
+關(guān)注
關(guān)注
0文章
2瀏覽量
2313
發(fā)布評論請先 登錄
無法導(dǎo)入硬件加速器
高級語言(HLL)標(biāo)準(zhǔn)擴(kuò)展大大簡化基于FPGA加速器的應(yīng)用程序的開發(fā)

Bitfusion支持通過云訪問基于賽靈思All Programmable器件的FPGA硬件加速功能
利用硬件加速器提高處理器的性能
賽靈思公司與SK電訊技術(shù)結(jié)合,加速FPGA加速器在AI領(lǐng)域的應(yīng)用

基于Xilinx FPGA的Memcached硬件加速器的介紹
賽靈思公司與SK電訊宣布SKT已在其數(shù)據(jù)中心中部署賽靈思FPGA
Vitis在Alveo 板卡上加速應(yīng)用案例

用于 AI 應(yīng)用的硬件加速器設(shè)計師指南

評論