99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在多FPGA集群上實現(xiàn)高級并行編程

傅里葉的貓 ? 來源: 傅里葉的貓 ? 2024-07-24 14:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天我們看的這篇論文介紹了在多FPGA集群上實現(xiàn)高級并行編程的研究,其主要目標是為非FPGA專家提供一個成熟且易于使用的環(huán)境,以便在多個并行運行的設(shè)備上擴展高性能計算(HPC)應(yīng)用。

背景

該論文的研究背景集中在解決高性能計算(HPC)領(lǐng)域中利用現(xiàn)場可編程門陣列(FPGA)進行并行計算的挑戰(zhàn)。由于FPGA在HPC領(lǐng)域相對新穎,尚未形成一個成熟的生態(tài)系統(tǒng),能夠方便非FPGA專家在多個FPGA設(shè)備上擴展并行應(yīng)用程序。論文指出,盡管FPGA具備高性能計算潛力,但在實際應(yīng)用中,缺乏一種有效的方法讓非專業(yè)人士能夠輕松地利用FPGA的并行處理能力。

FPGA在HPC領(lǐng)域的新興地位:FPGA技術(shù)在HPC中尚未得到充分開發(fā),尤其是在構(gòu)建大規(guī)模并行計算環(huán)境方面。

并行編程的復(fù)雜性:直接編程FPGA通常需要深入的硬件知識,這對非FPGA工程師來說是一個重大障礙。

缺乏成熟的工具和平臺:與傳統(tǒng)的CPUGPU相比,用于FPGA的編程工具和平臺不夠成熟,難以支持大規(guī)模的并行應(yīng)用開發(fā)。

基于上述背景,論文旨在開發(fā)一種更友好的編程模型和平臺,使得非FPGA工程師也能利用FPGA的并行計算能力,特別是在多FPGA集群的環(huán)境下。這涉及到創(chuàng)建一個支持消息傳遞接口(MPI)風(fēng)格通信的軟件堆棧,以及一個能夠跨多臺FPGA設(shè)備進行高效并行計算的編程環(huán)境。此外,論文還提到了評估這一新環(huán)境的性能和效率,特別是在與傳統(tǒng)超級計算機的比較中,特別是在能耗比方面。

FPGA design

論文中關(guān)于FPGA設(shè)計的部分描述了一個高度優(yōu)化的架構(gòu),旨在促進高級并行編程在多FPGA集群上的實現(xiàn)。

設(shè)計組成

用戶應(yīng)用:這部分包含High-Level Synthesis (HLS) 加速器和運行時,它們與FPGA的High Bandwidth Memory (HBM) 和以太網(wǎng)開關(guān)接口進行交互。

以太網(wǎng)子系統(tǒng):這個子系統(tǒng)負責(zé)處理以太網(wǎng)頭信息和尋址系統(tǒng),為應(yīng)用程序提供一個簡單的流式接口,用于發(fā)送和接收網(wǎng)絡(luò)消息。

用戶應(yīng)用與內(nèi)存互聯(lián)

設(shè)計中包括POM運行時(Pico OmpSs Manager),HLS加速器,以及與內(nèi)存的互聯(lián)機制。

OMPIF運行時被添加到設(shè)計中,它連接到以太網(wǎng)接口,允許消息發(fā)送者接收來自POM的任務(wù),并處理用戶傳遞的參數(shù)。

通信架構(gòu)

9372d9d4-47c7-11ef-b8af-92fbcf53809c.png

每個FPGA有兩個QSFP28端口,其中一個連接到以太網(wǎng)交換機,另一個連接到鄰近的FPGA,但設(shè)計依賴于與交換機相連的端口,以實現(xiàn)整個集群的完全連通性。

自動化設(shè)計生成

FPGA設(shè)計和架構(gòu)可以自動由Accelerator Integrator Tool (AIT)生成,該工具只需用戶HLS代碼作為輸入。

AIT是OmpSs@FPGA框架的一部分,框架還包括Xtasks庫和Nanos6運行時,用于處理FPGA設(shè)置、管理和通信。

以太網(wǎng)接口的抽象層

為了使用以太網(wǎng)接口,設(shè)計中加入了一個抽象層,它簡化了網(wǎng)絡(luò)消息的發(fā)送和接收,使應(yīng)用程序無需關(guān)心底層以太網(wǎng)協(xié)議細節(jié)。

HBM使用

FPGA設(shè)計充分利用HBM,這是現(xiàn)代FPGA提供的一種高速存儲解決方案,可以顯著提高數(shù)據(jù)吞吐量和訪問速度。

硬件與軟件協(xié)同

硬件設(shè)計與軟件棧緊密配合,使得用戶可以專注于編寫基于任務(wù)和消息傳遞的高級并行代碼,而低級別的細節(jié)(如以太網(wǎng)、PCIe和JTAG管理)則對程序員透明。

93bf16e6-47c7-11ef-b8af-92fbcf53809c.png

SOFTWARE STACK

論文中描述的軟件堆棧是為了使多FPGA集群的管理與使用更加高效和便捷,特別是對于那些基于高級并行編程模型的應(yīng)用程序。

Xtasks遠程支持

Xtasks庫是OmpSs@FPGA框架的一部分,用于卸載任務(wù)到FPGA加速器,并在FPGA和主機內(nèi)存之間復(fù)制數(shù)據(jù)。

新增了對遠程FPGA節(jié)點的支持,這通過Xtasks遠程實現(xiàn),它能描述集群中所有FPGA節(jié)點,無論本地還是遠程,以及一個名為Xtasks服務(wù)器的應(yīng)用程序。

這種改進使得從單個CPU服務(wù)器可以管理整個FPGA集群,無論是通過本地PCIe還是通過網(wǎng)絡(luò)。

Nanos6運行時

Nanos6運行時用于分析任務(wù)依賴性和調(diào)度可并行執(zhí)行的任務(wù),它是OmpSs-2任務(wù)基礎(chǔ)編程模型的核心。

在FPGA上下文中,Nanos6運行時通過Xtasks庫管理FPGA的設(shè)置、任務(wù)調(diào)度和通信。

OMPIF集成

OMPIF(Open MPI over FPGA)是一種通信協(xié)議,允許類似MPI(Message Passing Interface)的通信模式在FPGA上運行。

這一集成使得C/C++代碼能夠在FPGA上運行,并且能夠調(diào)用類似于MPI_Send/Recv的功能,通過MEEP集群的100Gb以太網(wǎng)網(wǎng)絡(luò)進行消息傳遞。

MEEP Manager

提供了一個統(tǒng)一的界面來管理FPGA集群,包括加載位流、配置設(shè)備和傳輸數(shù)據(jù)到遠程CPU節(jié)點所托管的FPGAs。

自動化工具

Accelerator Integrator Tool (AIT)用于自動生成FPGA設(shè)計和架構(gòu),只需要用戶提供的HLS代碼作為輸入。

整體而言,軟件堆棧提供了一套完整的解決方案,使得非FPGA工程師也能夠利用多FPGA集群來擴展他們的應(yīng)用,同時避免了與低級別硬件交互相關(guān)的復(fù)雜性。通過這一堆棧,程序員可以專注于編寫基于任務(wù)和消息傳遞的高級并行代碼,而無需擔(dān)心底層的以太網(wǎng)、PCIe或JTAG管理等技術(shù)細節(jié)。此外,堆棧還提供了對遠程FPGA節(jié)點的管理能力,從而增強了集群的靈活性和可擴展性。

EVALUATION

在論文的評估(Evaluation)部分,作者們展示了他們構(gòu)建的多FPGA集群——Marenostrum Exascale Emulation Platform (MEEP)的性能,特別是在高帶寬通信和高性能計算(HPC)應(yīng)用方面。

帶寬測量

使用OMPIF (Open MPI over FPGA)在兩個FPGA之間測得的帶寬最高可達約4.5GB/s,當數(shù)據(jù)量約為100MB時。

主機到FPGA以及反向的通信,包括本地(僅PCIe)和遠程(PCIe+網(wǎng)絡(luò))的組合,顯示了不同的帶寬特性。在遠程情況下,由于數(shù)據(jù)需要通過網(wǎng)絡(luò)傳輸,因此帶寬會受到顯著影響。

性能評估

對三個基準測試進行了評估:N-body模擬、Heat擴散模擬(使用Gauss-Seidel求解器)和Cholesky分解。

N-body基準測試使用了4194304個粒子和16個步驟,在64個FPGA上的表現(xiàn)接近理想,效率達到98%,達到每秒2.3G對力的計算。

Heat基準測試展示了熱傳導(dǎo)在二維矩陣上的模擬,使用Gauss-Seidel方法計算每個位置的平均值。結(jié)果顯示,該應(yīng)用能夠有效利用FPGA資源,處理大量的依賴關(guān)系。

與HPC的比較

將MEEP集群的性能與MareNostrum 4超級計算機進行了對比,發(fā)現(xiàn)在N-body和Heat基準測試中,MEEP的性能功耗比分別提高了2.3倍和3.5倍。

93db3042-47c7-11ef-b8af-92fbcf53809c.png

這些結(jié)果表明,MEEP集群在處理大規(guī)模并行計算任務(wù)時具有顯著的優(yōu)勢,尤其是在功耗效率方面。同時,該評估證明了使用OMPIF和100Gb以太網(wǎng)網(wǎng)絡(luò)在FPGA集群間實現(xiàn)高速通信的可行性。通過使用先進的硬件和優(yōu)化的軟件堆棧,研究人員能夠展示出FPGA集群在HPC領(lǐng)域的潛力,尤其是在要求高性能和高效率的應(yīng)用場景中。

93eecbc0-47c7-11ef-b8af-92fbcf53809c.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22050

    瀏覽量

    618589
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    4948

    瀏覽量

    131256
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3689

    瀏覽量

    95268
  • HPC
    HPC
    +關(guān)注

    關(guān)注

    0

    文章

    333

    瀏覽量

    24339

原文標題:多FPGA集群上的High-Level并行編程

文章出處:【微信號:傅里葉的貓,微信公眾號:傅里葉的貓】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    FPGA并行通道激勵信號產(chǎn)生模塊

    FPGA并行通道激勵信號產(chǎn)生模塊FPGA并行通道激勵信號產(chǎn)生模塊.docx
    發(fā)表于 08-11 10:35

    FPGA高級編程的書籍

    誰有FPGA高級編程的書籍,非常感謝,現(xiàn)在遇到了一些問題
    發(fā)表于 10-16 16:47

    基于FPGA控制的DSP并行處理系統(tǒng)

    DSP芯片組成并行處理系統(tǒng)。另外,為充分發(fā)揮 DSP芯片在復(fù)雜算法處理上的優(yōu)勢及FPGA大數(shù)據(jù)量的底層算法的優(yōu)勢,設(shè)計了一種基于FPGA
    發(fā)表于 05-21 05:00

    怎么實現(xiàn)FPGA為核心器件的并行通道信號產(chǎn)生模塊?

    本文以并行通道信號產(chǎn)生模型為依據(jù),設(shè)計并實現(xiàn)了以FPGA為核心器件的并行通道信號產(chǎn)生模塊,主
    發(fā)表于 04-29 06:17

    基于SMP集群的混合并行編程模型研究

    提出一種適用于SMP 集群的混合MPI+OpenMP 并行編程模型。該模型貼近于SMP 集群的體系結(jié)構(gòu)且綜合了消息傳遞和共享內(nèi)存2 種編程
    發(fā)表于 03-30 09:28 ?32次下載

    MPI并行程序設(shè)計的負載平衡實現(xiàn)方法

    MPI是目前集群系統(tǒng)中最重要的并行編程工具,它采用消息傳遞的方式實現(xiàn)并行程序間通信。MPI
    發(fā)表于 07-30 10:56 ?35次下載

    并行CRCFPGA實現(xiàn)研究

    循環(huán)冗余碼校驗 CRC (Cyclic Redundancy Check) 廣泛用于通訊領(lǐng)域和數(shù)據(jù)存儲的數(shù)據(jù)檢錯?;?b class='flag-5'>FPGA通訊領(lǐng)域和數(shù)據(jù)存儲的應(yīng)用越來越廣泛,CRC的編碼解碼模塊已經(jīng)是FPGA
    發(fā)表于 08-15 11:19 ?40次下載
    <b class='flag-5'>并行</b>CRC<b class='flag-5'>在</b><b class='flag-5'>FPGA</b><b class='flag-5'>上</b>的<b class='flag-5'>實現(xiàn)</b>研究

    FPGA實現(xiàn)CRC算法的程序

    Xilinx FPGA工程例子源碼:FPGA實現(xiàn)CRC算法的程序
    發(fā)表于 06-07 15:07 ?28次下載

    基于FPGADSP的總線并行處理器設(shè)計

    基于FPGADSP的總線并行處理器設(shè)計
    發(fā)表于 10-19 13:40 ?4次下載
    基于<b class='flag-5'>FPGA</b>和<b class='flag-5'>多</b>DSP的<b class='flag-5'>多</b>總線<b class='flag-5'>并行</b>處理器設(shè)計

    如何在工程應(yīng)用中合理采用并行編程技術(shù)

    (COTS)計算機集群的日益普及。 直至最近,尚無商業(yè)高級工具可以支持針對高性能系統(tǒng)的科學(xué)計算應(yīng)用程序的開發(fā)。并行編程是一門深奧的技術(shù),只有那些旨在通過利用自定義設(shè)置和低級庫以及通過為
    發(fā)表于 12-02 09:49 ?535次閱讀
     如何在工程應(yīng)用中合理采用<b class='flag-5'>并行</b><b class='flag-5'>編程</b>技術(shù)

    如何使用OpenCL輕松實現(xiàn)FPGA應(yīng)用編程

    實現(xiàn)這一編程思想的轉(zhuǎn)變,是因為 FPGA 借助 OpenCL 實現(xiàn)編程,程序員只需要通過 C/C++ 添加適當?shù)?pragma 就能
    發(fā)表于 07-16 17:58 ?6945次閱讀
    如何使用OpenCL輕松<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>FPGA</b>應(yīng)用<b class='flag-5'>編程</b>

    如何使用FPGA實現(xiàn)HDLC協(xié)議控制器

    ,解析模塊及其內(nèi)部的CRC碼生成,檢驗?zāi)K的方法。FPGA內(nèi)部采用硬件描述語言(HDL)并行設(shè)計通道的高級數(shù)據(jù)鏈路控制(HDLC)協(xié)議控
    發(fā)表于 11-04 18:04 ?15次下載
    如何使用<b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b>HDLC協(xié)議控制器

    基于FPGA集群的NEST脈沖神經(jīng)網(wǎng)絡(luò)仿真器

    放電神經(jīng)元計算模塊的流水線并行架構(gòu),實現(xiàn)支持雙核雙線程和多節(jié)點多進程的FPGA集群設(shè)計。皮質(zhì)層視覺仿真模型
    發(fā)表于 03-19 10:35 ?11次下載
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>集群</b>的NEST脈沖神經(jīng)網(wǎng)絡(luò)仿真器

    通道可編程并行通信接口芯片XDC05的設(shè)計實現(xiàn)

    通道可編程并行通信接口芯片XDC05的設(shè)計實現(xiàn)(現(xiàn)代電源技術(shù)基礎(chǔ) 楊飛)-該文檔為通道可編程
    發(fā)表于 09-15 11:03 ?4次下載
    <b class='flag-5'>多</b>通道可<b class='flag-5'>編程</b><b class='flag-5'>并行</b>通信接口芯片XDC05的設(shè)計<b class='flag-5'>實現(xiàn)</b>

    怎么用FPGA做算法 如何在FPGA實現(xiàn)最大公約數(shù)算法

    FPGA算法是指在FPGA(現(xiàn)場可編程門陣列)實現(xiàn)的算法。FPGA是一種可重構(gòu)的硬件設(shè)備,可以
    的頭像 發(fā)表于 08-16 14:31 ?3376次閱讀
    怎么用<b class='flag-5'>FPGA</b>做算法 如何在<b class='flag-5'>FPGA</b><b class='flag-5'>上</b><b class='flag-5'>實現(xiàn)</b>最大公約數(shù)算法