一種基于x86架構(gòu)處理器和FPGA的高性能異構(gòu)計(jì)算平臺(tái)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明公開一種高性能異構(gòu)計(jì)算平臺(tái),屬于計(jì)算機(jī)存構(gòu)建技術(shù)領(lǐng)域,具體地說是一種基于X86架構(gòu)處理器和FPGA的高性能異構(gòu)計(jì)算平臺(tái)。
【背景技術(shù)】
[0002]高性能計(jì)算HPC(High Performance Computing)是指利用具有超強(qiáng)計(jì)算能力的高性能計(jì)算機(jī)解算當(dāng)今超大、超高、超復(fù)雜的計(jì)算任務(wù)。目前國內(nèi)外實(shí)現(xiàn)高性能計(jì)算的主流方案是計(jì)算機(jī)集群機(jī)系統(tǒng),核心計(jì)算單元一般采用基于通用處理器即CPU架構(gòu)或基于CPU結(jié)合GPU的異構(gòu)計(jì)算架構(gòu)。雖然采用GPU構(gòu)成異構(gòu)計(jì)算平臺(tái),提高了針對(duì)某些計(jì)算任務(wù)的高性能計(jì)算系統(tǒng)性能,但是其計(jì)算系統(tǒng)的性價(jià)比和功耗依然過高,計(jì)算速度與ASIC芯片計(jì)算速度還有很大差距。本發(fā)明基于x86架構(gòu)處理器和FPGA的高性能異構(gòu)計(jì)算平臺(tái)包括含有x86架構(gòu)處理器的通用處理器模塊、PCIe SWITCH模塊和若干FPGA計(jì)算模塊,利用PCIe總線接口進(jìn)行數(shù)據(jù)傳輸,技術(shù)成熟,傳輸速度快,可滿足當(dāng)前高速運(yùn)算的應(yīng)用;本發(fā)明的整體計(jì)算平臺(tái)建立后,只需開發(fā)針對(duì)不同計(jì)算任務(wù)的計(jì)算邏輯,并下載至FPGA芯片中,即可形成針對(duì)特定問題的專用計(jì)算系統(tǒng),具有系統(tǒng)可擴(kuò)展性強(qiáng),可根據(jù)不同規(guī)模的應(yīng)用,設(shè)計(jì)合適的FPGA計(jì)算模塊數(shù)量,達(dá)到更高的計(jì)算并行度,提升整體計(jì)算性能等優(yōu)點(diǎn)。
[0003]FPGA, Field Programmable Gate Array,現(xiàn)場(chǎng)可編程門陣列。不僅能夠像 ASIC (Applicat1n Specific Integrated Circuit,專用集成電路)一樣實(shí)現(xiàn)各種復(fù)雜定制的邏輯功能,而且能夠集成數(shù)字信號(hào)處理DSP (Digital Signal Processing)單元和各種高速通訊接口模塊,在復(fù)雜運(yùn)算應(yīng)用中發(fā)揮強(qiáng)大的計(jì)算能力,加速大規(guī)模高性能計(jì)算。同時(shí),F(xiàn)PGA具有配置靈活及功耗較低的優(yōu)良特性,可以重新配置實(shí)現(xiàn)新的邏輯功能,易于設(shè)備的維護(hù)及升級(jí),大幅降低應(yīng)用成本及電能消耗。不斷提升的計(jì)算性能和重構(gòu)的靈活性使得FPGA能夠應(yīng)對(duì)傳統(tǒng)高性能計(jì)算機(jī)體系結(jié)構(gòu)已難以應(yīng)對(duì)的系統(tǒng)高效能挑戰(zhàn),在高性能計(jì)算應(yīng)用領(lǐng)域獲得更好的性價(jià)比。
【發(fā)明內(nèi)容】
[0004]本發(fā)明針對(duì)現(xiàn)有的計(jì)算系統(tǒng)的性價(jià)比和功耗依然過高,并且計(jì)算速度不能達(dá)到ASIC芯片計(jì)算速度的問題,提供一種基于x86架構(gòu)處理器和FPGA的高性能異構(gòu)計(jì)算平臺(tái),實(shí)現(xiàn)了計(jì)算系統(tǒng)可擴(kuò)展性強(qiáng),可根據(jù)不同規(guī)模的應(yīng)用,設(shè)計(jì)合適的FPGA計(jì)算模塊數(shù)量,達(dá)到更高的計(jì)算并行度,提升整體計(jì)算性能的目的。
[0005]本發(fā)明提出的具體方案是:
一種基于x86架構(gòu)處理器和FPGA的高性能異構(gòu)計(jì)算平臺(tái),在現(xiàn)有平臺(tái)的基礎(chǔ)上,具有x86架構(gòu)處理器的通用處理器模塊、PCIe SWITCH模塊和FPGA計(jì)算模塊;
其中通用處理器模塊負(fù)責(zé)高性能任務(wù)的輸入、輸出、計(jì)算任務(wù)調(diào)度、計(jì)算資源分配、計(jì)算任務(wù)流程控制以及計(jì)算結(jié)果收集匯總;
PCIe SWITCH模塊內(nèi)置FPGA芯片,負(fù)責(zé)通用處理器模塊與FPGA計(jì)算模塊之間的互連與數(shù)據(jù)傳輸任務(wù);
FPGA計(jì)算模塊用于將需要運(yùn)算的數(shù)據(jù)通過內(nèi)部邏輯將其轉(zhuǎn)化為計(jì)算結(jié)果,并進(jìn)行處理與存儲(chǔ),提供查詢和控制用的總線接口。通用處理器模塊可以與多個(gè)FPGA計(jì)算模塊的交互。
[0006]所述的FPGA計(jì)算模塊包括內(nèi)部邏輯實(shí)現(xiàn)單元和外部存儲(chǔ)單元;
內(nèi)部邏輯實(shí)現(xiàn)單元負(fù)責(zé)內(nèi)部FPGA計(jì)算模塊的接收任務(wù)的邏輯運(yùn)算與控制;
外部存儲(chǔ)單元負(fù)責(zé)數(shù)據(jù)的緩存,提供數(shù)據(jù)讀寫功能。
[0007]所述的內(nèi)部邏輯實(shí)現(xiàn)單元包括主管理單元、計(jì)算單元、PCIe接口控制單元、內(nèi)存控制單元;
主管理單元負(fù)責(zé)系統(tǒng)FPGA計(jì)算模塊的整體控制,包括待計(jì)算任務(wù)的接收、待計(jì)算數(shù)據(jù)的接收及緩存、計(jì)算的過程控制和計(jì)算結(jié)果的返回;
計(jì)算單元負(fù)責(zé)根據(jù)主管理單元發(fā)送的命令進(jìn)行具體計(jì)算工作,計(jì)算期間可訪問模塊內(nèi)的外部存儲(chǔ)單元讀取待計(jì)算數(shù)據(jù)。在計(jì)算完成后,將結(jié)果返回給主管理單元;
PCIe接口控制單元負(fù)責(zé)來自通用處理器模塊分配的計(jì)算任務(wù)、待計(jì)算數(shù)據(jù)等信息,同時(shí)負(fù)責(zé)管理FPGA計(jì)算模塊的設(shè)備熱插拔、流量監(jiān)控、數(shù)據(jù)完整性檢測(cè)、服務(wù)質(zhì)量管理;
內(nèi)存控制單元負(fù)責(zé)接收來自主管理單元或者計(jì)算單元的數(shù)據(jù)請(qǐng)求,訪問外部存儲(chǔ)單元,并完成所需數(shù)據(jù)讀寫功能。
[0008]所述的外部存儲(chǔ)單元包括DIMM內(nèi)存單元,負(fù)責(zé)數(shù)據(jù)的暫存,提供數(shù)據(jù)讀寫功能。
[0009]所述的計(jì)算平臺(tái)計(jì)算任務(wù)處理流程為:
通用處理器模塊將高性能計(jì)算任務(wù)根據(jù)各個(gè)FPGA計(jì)算模塊的功能特征進(jìn)行分配,同時(shí)傳送計(jì)算所需的原始數(shù)據(jù);
每個(gè)FPGA計(jì)算模塊接收所分配的計(jì)算任務(wù),并將計(jì)算所需的原始數(shù)據(jù)緩存;
FPGA計(jì)算模塊進(jìn)行計(jì)算,計(jì)算完畢后通過PCIe總線接口將結(jié)果返回至通用處理器模塊;
通用處理器模塊將各個(gè)計(jì)算結(jié)果匯總,形成計(jì)算任務(wù)的最終結(jié)果。
[0010]一種基于x86架構(gòu)處理器和FPGA的高性能異構(gòu)計(jì)算平臺(tái)處理計(jì)算任務(wù)的方法,根據(jù)所述的一種基于x86架構(gòu)處理器和FPGA的高性能異構(gòu)計(jì)算平臺(tái)實(shí)現(xiàn),處理流程為:
通用處理器模塊將高性能計(jì)算任務(wù)根據(jù)各個(gè)FPGA計(jì)算模塊的功能特征進(jìn)行分配,同時(shí)傳送計(jì)算所需的原始數(shù)據(jù);
每個(gè)FPGA計(jì)算模塊接收所分配的計(jì)算任務(wù),并將計(jì)算所需的原始數(shù)據(jù)緩存;
FPGA計(jì)算模塊進(jìn)行計(jì)算,計(jì)算完畢后通過PCIe總線接口將結(jié)果返回至通用處理器模塊;
通用處理器模塊將各個(gè)計(jì)算結(jié)果匯總,形成計(jì)算任務(wù)的最終結(jié)果。
[0011]本發(fā)明的有益之處是:本發(fā)明采用PCIe總線接口進(jìn)行數(shù)據(jù)傳輸,傳輸速度快,滿足當(dāng)前高速運(yùn)算的應(yīng)用;可編程性強(qiáng),整體計(jì)算平臺(tái)建立后,只需開發(fā)針對(duì)不同計(jì)算任務(wù)的FPGA計(jì)算模塊的計(jì)算邏輯,至FPGA芯片中,即可形成針對(duì)特定問題的專用計(jì)算系統(tǒng);系統(tǒng)可擴(kuò)展性強(qiáng),可根據(jù)不同規(guī)模的應(yīng)用,設(shè)計(jì)合適的FPGA計(jì)算模塊數(shù)量,達(dá)到更高的計(jì)算并行度,提升整體計(jì)算性能:性能優(yōu)越,硬件平臺(tái)為x86架構(gòu)處理器和FPGA組成了一個(gè)擁有高處理能力的CPU控制系統(tǒng)。
【附圖說明】
[0012]圖1是本發(fā)明的架構(gòu)示意圖;
圖2是本發(fā)明的FPGA計(jì)算模塊功能單元構(gòu)成示意圖;
圖3是本發(fā)明計(jì)算平臺(tái)的計(jì)算任務(wù)處理流程示意圖。
【具體實(shí)施方式】
[0013]如圖1所示,基于x86架構(gòu)處理器和FPGA的高性能異構(gòu)計(jì)算平臺(tái)的總體架構(gòu)如下:
通用處理器模塊中的x86系列處理器負(fù)責(zé)系統(tǒng)整體控制。通過PCIe總線接口與PCIeSWITCH模塊相連接。通用處理器模塊是計(jì)算平臺(tái)結(jié)