我們正在迅速接近百億億次計算時代,但幾乎沒有工具和基礎(chǔ)設(shè)施來幫助我們?yōu)槲磥順?gòu)建軟件/硬件共同設(shè)計的生態(tài)系統(tǒng)。我們不能再等待新硬件來開發(fā)軟件。同樣,為了滿足這些百億億級及以上系統(tǒng)的性能和功率目標(biāo),我們必須以協(xié)同設(shè)計系統(tǒng)的形式利用專業(yè)化,這意味著硬件和軟件必須一起設(shè)計,而不是孤立地設(shè)計。
專業(yè)化還將開源生態(tài)系統(tǒng)擴(kuò)展到具有開放式 ISA 的硬件,例如 RISC-V,它定義了軟件級別互操作性的基本標(biāo)準(zhǔn),同時還可以靈活地將架構(gòu)專業(yè)化以包括新的應(yīng)用程序功能和硬件支持。這種新功能正在開啟一個令人興奮的系統(tǒng)設(shè)計新時代,全棧研發(fā),包括構(gòu)建專用硬件。MareNostrum Exascale 實驗平臺 (MEEP) 是實現(xiàn)靈活硬件平臺的第一步,我們可以使用該平臺來映射或模擬各種不同的開發(fā)架構(gòu),包括硬件和軟件。
BSC 正在構(gòu)建各種軟件和硬件組件,以支持開源軟件和硬件 HPC 生態(tài)系統(tǒng)。我們正在構(gòu)建開源軟件的豐富歷史,并將其擴(kuò)展到基于 RISC-V 指令集架構(gòu) (ISA) 的開源硬件。MEEP 支持使用 FPGA 快速評估硬件架構(gòu)。這是通往開放 HPC 生態(tài)系統(tǒng)(包括硬件和軟件)的眾多步驟之一。此外,與軟件模擬不同,MEEP 還是一個軟件開發(fā)工具,它允許我們以合理的速度運(yùn)行整個軟件堆棧以進(jìn)行交互式開發(fā)。MEEP 是我們的數(shù)字實驗室,用于設(shè)計、測試和評估未來的百億億次加速器和系統(tǒng),真正的軟件/硬件協(xié)同設(shè)計。
與軟件不同,硬件開發(fā)成本非常昂貴,錯誤也非常昂貴,尤其是在芯片制造中。MEEP 提供了一種以靈活性換取性能的機(jī)制。我們正在使用 FPGA 構(gòu)建 MEEP,F(xiàn)PGA 是一種靈活的硬件組件或結(jié)構(gòu),可以一遍又一遍地重新編程。它使我們能夠像對待軟件一樣對待硬件,具有與軟件相同的靈活性,我們可以重新編譯硬件描述語言來創(chuàng)建新的硬件設(shè)計以映射到 FPGA 架構(gòu)上。MEEP 基礎(chǔ)設(shè)施軟件和 FPGA 使硬件仿真更像傳統(tǒng)的軟件開發(fā)。此外,MEEP 不僅可以用于單個仿真項目,例如,MEEP 的第一個演示器,一個百億億次加速器。MEEP 可以模擬其他加速器設(shè)計以及 CPU。
構(gòu)建一個 Exascale 加速器模擬器
MEEP 結(jié)合了軟件、架構(gòu)和 RTL 三個主要組件以及硬件組件,形成了一個完整的系統(tǒng)仿真平臺。第一個部署將是用于 HPC 和高性能數(shù)據(jù)分析 (HPDA) 應(yīng)用程序的 exascale 加速器。因此,我們組裝了一組 HPC、AI、ML 和 DL 應(yīng)用程序,以實現(xiàn)加速。
基于此基準(zhǔn)套件,我們分析應(yīng)用程序并定義針對這些應(yīng)用程序優(yōu)化的架構(gòu)。通過定義的架構(gòu),我們可以編寫 RTL,即描述硬件的代碼。在真正的協(xié)同設(shè)計實踐中,我們可以靈活地在堆棧的任何級別、軟件堆棧的任何層和硬件上進(jìn)行更改。這是一個新的靈活性水平,可以為問題提供最佳的整體解決方案,而不是受限于僅軟件更改和/或僅模擬驗證。
最后,我們將軟件和架構(gòu)以及 RTL 結(jié)合起來,并將其映射到模擬器上。這是一個由大約 100 個 CPU 和 FPGA 組成的系統(tǒng)。這種規(guī)??梢詫崿F(xiàn)超出正常單芯片評估的更大規(guī)模系統(tǒng)研究。CPU 和 FPGA 的組合為將邏輯仿真器映射到物理資源提供了額外的靈活性。我們可以用 exascale 加速器或我們映射到 MEEP 的任何其他系統(tǒng)的邏輯定義來模糊物理硬件的界限。此外,我們正在使用傳統(tǒng)的加速器架構(gòu),該架構(gòu)可用于在這個初始項目之外的大規(guī)模研究。FPGA 是提供這種靈活性的基本構(gòu)建塊。我們基本上以兩種不同的方式部署 FPGA:FPGA Shell 和 FPGA Emulator。我們將 FPGA Shell 定義為與內(nèi)存和 I/O 的 FPGA 接口。FPGA Shell 包含所有 FPGA 設(shè)計中的所有通用基礎(chǔ)設(shè)施。FPGA 架構(gòu)其余部分中剩余的 FPGA 資源可用于仿真和/或加速器設(shè)計。
HPC 應(yīng)用程序包括新興的 AI、ML 和 DL 工作負(fù)載。MEEP 將使我們能夠展望未來,并在新硬件可用之前演示事情是如何工作的。這種硅前驗證將通過提高 RTL 的質(zhì)量和消除錯誤來節(jié)省大量資金。
MEEP 為新硬件及其相關(guān)硬件的系統(tǒng)級軟件開發(fā)提供了獨特的機(jī)會。我們正在構(gòu)建一個緊密耦合的加速器,它超越了傳統(tǒng)的 HPC 應(yīng)用程序,包括新興的 AI、ML 和 DL 工作負(fù)載。MEEP 將使我們能夠展望未來,并在新硬件可用之前演示事情是如何工作的。這種硅前驗證將通過提高 RTL 的質(zhì)量和消除錯誤來節(jié)省大量資金。MEEP 還將??支持新系統(tǒng)的軟件開發(fā),實現(xiàn)新硬件和軟件的并行開發(fā)。這對于必須等待新硬件可用的軟件開發(fā)尤其重要。在這兩種情況下,
審核編輯:郭婷
-
FPGA
+關(guān)注
關(guān)注
1629文章
21750瀏覽量
604106 -
HPC
+關(guān)注
關(guān)注
0文章
316瀏覽量
23808 -
模擬器
+關(guān)注
關(guān)注
2文章
877瀏覽量
43261
發(fā)布評論請先 登錄
相關(guān)推薦
評論