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