[發(fā)明專利]一種基于FPGA云的計算優(yōu)化方法、系統(tǒng)、存儲介質(zhì)及設備有效
| 申請?zhí)枺?/td> | 202011571278.6 | 申請日: | 2020-12-27 |
| 公開(公告)號: | CN112631778B | 公開(公告)日: | 2023-01-06 |
| 發(fā)明(設計)人: | 王江為;闞宏偉;郝銳;楊樂 | 申請(專利權)人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06N3/063 |
| 代理公司: | 北京連和連知識產(chǎn)權代理有限公司 11278 | 代理人: | 陳黎明;李紅蕭 |
| 地址: | 215100 江蘇省蘇州市吳*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 fpga 計算 優(yōu)化 方法 系統(tǒng) 存儲 介質(zhì) 設備 | ||
本發(fā)明提供了一種基于FPGA云的計算優(yōu)化方法、系統(tǒng)、存儲介質(zhì)及設備,方法包括以下步驟:將待進行計算處理的神經(jīng)網(wǎng)絡拆分為主算子和多個副算子,其中,主算子的計算量分別大于各副算子的計算量;將主算子和各副算子分別燒寫到各自的FPGA卡中,以得到主FPGA卡和多個副FPGA卡;將待處理數(shù)據(jù)分別發(fā)送到主FPGA卡和多個副FPGA卡中進行計算處理;響應于各副FPGA卡完成計算處理并獲知主FPGA卡未完成計算處理,將各副FPGA卡的計算結(jié)果移交到主FPGA卡進行統(tǒng)一處理,并確認主FPGA卡是否處理完成;響應于主FPGA卡處理完成,將處理結(jié)果上傳到主機。本發(fā)明節(jié)省了現(xiàn)有技術中計算結(jié)果進行數(shù)據(jù)交互的時間,提高了資源池中FPGA卡的利用率,提高了計算效率。
技術領域
本發(fā)明涉及FPGA云技術領域,尤其涉及一種基于FPGA云的計算優(yōu)化方法、系統(tǒng)、存儲介質(zhì)及設備。
背景技術
隨著FPGA云在數(shù)據(jù)中心的廣泛部署,F(xiàn)PGA加速應用場景也越來越廣泛。在當前已公布的FPGA云平臺(如華為云、阿里云等)中,F(xiàn)PGA加速卡作為服務器節(jié)點的協(xié)處理器,處理主機下發(fā)的加速請求,在此網(wǎng)絡拓撲下,云上的加速應用通過服務器軟件完成統(tǒng)一管理,完成分布式處理,F(xiàn)PGA加速卡只處理當前主機下發(fā)的加速請求。
圖1示出了現(xiàn)有技術中FPGA云平臺系統(tǒng)中的應用加速流程,如圖1所示,主機1把待加速數(shù)據(jù)通過PCIe接口發(fā)給本地FPGA1加速卡的DDR,完成加速數(shù)據(jù)存儲后主機觸發(fā)FPGA1的kernel(FPGA內(nèi)的動態(tài)加速應用)開始加速處理,kernel接到請求后從DDR讀取數(shù)據(jù)并開始加速處理(量子計算,AI計算等),完成加速處理后把加速結(jié)果存回DDR,再通知主機讀取DDR中的數(shù)據(jù),完成此次應用的加速處理,同理,主機2進行相同的操作完成主機2上應用數(shù)據(jù)的加速。在大型加速應用中,由于需要加速的應用通常很大,需要對數(shù)據(jù)或模型進行拆分,分別給不同的服務器進行處理,兩個服務器間的交互信息通過各自的網(wǎng)卡進行傳輸。對于主機1上的FPGA-1加速卡而言,只看到主機1下發(fā)的加速請求,主機2上的加速操作對于主機1上的FPGA來說是透明的,同時FPGA上的kernel加速單元也是被動接收加速請求命令。也就是說,對于大型應用的加速,在現(xiàn)有FPGA云平臺中,都是通過服務器本身完成分布式處理,F(xiàn)PGA加速卡只處理當前主機下發(fā)的加速請求。
在現(xiàn)有的FPGA云服務器中,F(xiàn)PGA加速卡作為協(xié)處理器,被動處理待加速的數(shù)據(jù),完成當前加速處理后的結(jié)果返回服務器。在大型加速應用中,分布式處理器間的交互通過網(wǎng)卡完成,F(xiàn)PGA加速卡間無直接通信。當一個應用需要多個FPGA加速卡協(xié)同完成時,多個FPGA加速卡間的數(shù)據(jù)交互需要通過中轉(zhuǎn)服務器完成,也就是說,F(xiàn)PGA-1user kernel加速處理后的結(jié)果需要返回主機1,主機1通過網(wǎng)卡傳遞給主機2,主機2再發(fā)送給FPGA-2user kernel進行后續(xù)處理,交互延時很大,極大影響了分布式計算效率。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提出一種基于FPGA云的計算優(yōu)化方法、系統(tǒng)、存儲介質(zhì)及設備,用以解決現(xiàn)有技術中FPGA云的分布式加速應用的計算效率低的問題。
基于上述目的,本發(fā)明提供了一種基于FPGA云的計算優(yōu)化方法,包括如下步驟:
將待進行計算處理的神經(jīng)網(wǎng)絡拆分為主算子和多個副算子,其中,主算子的計算量分別大于各副算子的計算量;
將主算子和各副算子分別燒寫到各自的FPGA卡中,以得到主FPGA卡和多個副FPGA卡;
將待處理數(shù)據(jù)分別發(fā)送到主FPGA卡和多個副FPGA卡中進行計算處理;
響應于各副FPGA卡完成計算處理并獲知主FPGA卡未完成計算處理,將各副FPGA卡的計算結(jié)果移交到主FPGA卡進行統(tǒng)一處理,并確認主FPGA卡是否處理完成;
響應于主FPGA卡處理完成,將處理結(jié)果上傳到主機。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州浪潮智能科技有限公司,未經(jīng)蘇州浪潮智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011571278.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





