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