高效能異構(gòu)流水線系統(tǒng)的設(shè)計與優(yōu)化
發(fā)布時間:2021-07-27 14:52
隨著新興智能計算領(lǐng)域的高速發(fā)展,包括計算視覺、語音識別、自然語言處理等領(lǐng)域,不僅應(yīng)用本身的復(fù)雜度不斷增加,而且對系統(tǒng)的計算能效,即單位能耗的計算性能,要求也越來越高。在這樣的背景下,如何針對人工智能應(yīng)用設(shè)計出高效能的實時并行系統(tǒng)已經(jīng)成為了工業(yè)界和研究界高度關(guān)注的重點領(lǐng)域。異構(gòu)流水線架構(gòu)成為實現(xiàn)該類系統(tǒng)的一個有前途的解決方案。以深度神經(jīng)網(wǎng)絡(luò)為例,隨著網(wǎng)絡(luò)結(jié)構(gòu)的不斷加深,流水線設(shè)計已成為提升系統(tǒng)性能的重要手段;同時,由于應(yīng)用子結(jié)構(gòu)間具有顯著性差異,為了降低能耗,異構(gòu)平臺能夠為應(yīng)用量身定制能耗最低的解決方案。雖然目前已有大量工作探索軟件層的應(yīng)用結(jié)構(gòu)搜索空間,以及硬件層的異構(gòu)加速器設(shè)計空間,但是獨立地探索這兩個空間并不能保證最終合成的完整系統(tǒng)達到最高能效。為此,本文致力于軟硬件協(xié)同設(shè)計,針對不同應(yīng)用與不同硬件平臺的特性,開展異構(gòu)流水線系統(tǒng)的設(shè)計與優(yōu)化研究。相較于已有的科研工作,本文將探索各類異構(gòu)平臺,包括基于現(xiàn)場可編程門陣列(FPGA)集群系統(tǒng)、基于通用計算處理器的多核片上系統(tǒng)、以及基于異構(gòu)通信的大規(guī)模分布式系統(tǒng),全面地開展軟硬件系統(tǒng)的協(xié)同設(shè)計與優(yōu)化工作。通過設(shè)計高效最優(yōu)解算法,充分挖掘軟件內(nèi)...
【文章來源】:重慶大學(xué)重慶市 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:132 頁
【學(xué)位級別】:博士
【部分圖文】:
展示了軟硬件協(xié)同設(shè)計的整體框架,包括上層的軟件層、中間層的協(xié)同設(shè)計層與下層的硬件層
文6在這個例子中,任務(wù)之間的依賴關(guān)系用一個比較簡單的有向無環(huán)圖(DirectedAcyclicGraph,DAG)表示,如圖1.3(a)所示。流水線階段(PipelineStage)劃分實際上就是在任務(wù)圖的依賴邊上如何放置緩沖的問題,兩個緩沖之間的任務(wù)圖子集是一個流水線階段。在流水線執(zhí)行時,流水線階段緩沖(PipelineStageBuffer)為多個批次的任務(wù)在流水線中的交疊執(zhí)行傳遞正確的任務(wù)數(shù)據(jù)。圖1.3(b)顯示了每個任務(wù)分別在兩種異構(gòu)處理單元上的執(zhí)行時間和開銷。假設(shè)流水線周期時間限制是9個單位時間,那么我們可以有多個不同的流水線劃分方案,圖1.4顯示了四種不同的劃分方案,以及把各個流水線階段分配到兩種不同的處理單元執(zhí)行的流水線周期時間和開銷。前三個方案把圖1.3(a)中的任務(wù)圖劃分為四個流水線階段,第四種方案只劃分了三個階段。流水線周期時間是由最慢的階段所決定的,因此,劃分方案1的周期時間超過了時間限制條件,是不可行的解;假設(shè)兩種處理單元的數(shù)量足夠多,方案2的周期時間可以滿足時間性能要求,此時系統(tǒng)開銷為110;方案3的周期時間同樣可以滿足要求,系統(tǒng)開銷則降低到100;而方案4只用了三個流水線階段,就可以達到性能要求,并且系統(tǒng)整體開銷最校由于流水線階段較少,數(shù)據(jù)緩沖的額外開銷也校由于要同時考慮緩沖放置和異構(gòu)資源分配兩個問題,異構(gòu)流水線劃分方案的搜索空間巨大,假設(shè)任務(wù)圖有100個任務(wù)節(jié)點和60條邊,任意一條邊都可以放置一個緩沖,每個任務(wù)有3個處理單元可以選擇,那么,設(shè)計空間里就有3100×260≈1065個可能的解決方案,如何在這么大的搜索空間內(nèi)快速有效地找到最優(yōu)或近似最優(yōu)的方案是我們需要面對的挑戰(zhàn)。在本文中,我們將對流水線劃分、異構(gòu)資源圖1.4不同的流水線劃分方案Fig.1.4Differentstrategiesofpipelinepar
1緒論7分配、任務(wù)調(diào)度等一系列優(yōu)化問題的本質(zhì)特性、復(fù)雜度、最優(yōu)算法和近似最優(yōu)解算法做深入的基礎(chǔ)研究和論證,建立理論框架,研發(fā)出一套高效的異構(gòu)流水線系統(tǒng)優(yōu)化技術(shù)。接下來,我們將在1.2.2小節(jié)與1.2.3小節(jié)介紹同步異構(gòu)流水線系統(tǒng)的研究現(xiàn)狀,并在1.2.4小節(jié)介紹異步異構(gòu)流水線系統(tǒng)的研究現(xiàn)狀。1.2.2神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索與FPGA硬件加速器設(shè)計的研究現(xiàn)狀分析近年來,隨著深度神經(jīng)網(wǎng)絡(luò)在各種人工智能應(yīng)用中取得長足突破,針對神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)與硬件加速器設(shè)計已然成為炙手可熱的研究話題。圖1.5分別展示了在軟件層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索(NeuralArchitectureSearch)、硬件層的基于FPGA神經(jīng)網(wǎng)絡(luò)加速器設(shè)計(FPGA-basedAccelerator)、以及軟硬件協(xié)同設(shè)計層的硬件感知神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索(Hardware-awareNAS)的發(fā)展歷程。圖中,x軸下方表示硬件層設(shè)計加速器的工作,x軸上方最上層為軟件層,包括了神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)探索的工作,中間層為軟硬件協(xié)同設(shè)計層,包括硬件感知的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)探索。從圖中可以清晰看到,硬件層的設(shè)計從2015年開始,由加州大學(xué)洛杉磯分校的JasonCong團隊在2015提出使用FPGA實現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)加速器[22]。其后,在2017年,紐約州立大學(xué)石溪分校Shen等人發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)的計算不均勻,提出將一塊FPGA被劃分成多個運算塊,并根據(jù)運算量分配硬件資源以提升資源使用率[20];每個流水線階段被映射到FPGA上的一個運算塊;多個運算塊以流水線的方式執(zhí)行,以提高神經(jīng)網(wǎng)絡(luò)在測試階段的吞吐量。2018年,Zhang等人提出了DNNBuilder,自動在FPGA上生成一個給定神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)[21]。圖1.5神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索與基于FPGA的神經(jīng)網(wǎng)絡(luò)加速器發(fā)展Fig.1.5DevelopmentofNeuralArchitectureSeachandFPGAacceleratordesigns
本文編號:3306001
【文章來源】:重慶大學(xué)重慶市 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:132 頁
【學(xué)位級別】:博士
【部分圖文】:
展示了軟硬件協(xié)同設(shè)計的整體框架,包括上層的軟件層、中間層的協(xié)同設(shè)計層與下層的硬件層
文6在這個例子中,任務(wù)之間的依賴關(guān)系用一個比較簡單的有向無環(huán)圖(DirectedAcyclicGraph,DAG)表示,如圖1.3(a)所示。流水線階段(PipelineStage)劃分實際上就是在任務(wù)圖的依賴邊上如何放置緩沖的問題,兩個緩沖之間的任務(wù)圖子集是一個流水線階段。在流水線執(zhí)行時,流水線階段緩沖(PipelineStageBuffer)為多個批次的任務(wù)在流水線中的交疊執(zhí)行傳遞正確的任務(wù)數(shù)據(jù)。圖1.3(b)顯示了每個任務(wù)分別在兩種異構(gòu)處理單元上的執(zhí)行時間和開銷。假設(shè)流水線周期時間限制是9個單位時間,那么我們可以有多個不同的流水線劃分方案,圖1.4顯示了四種不同的劃分方案,以及把各個流水線階段分配到兩種不同的處理單元執(zhí)行的流水線周期時間和開銷。前三個方案把圖1.3(a)中的任務(wù)圖劃分為四個流水線階段,第四種方案只劃分了三個階段。流水線周期時間是由最慢的階段所決定的,因此,劃分方案1的周期時間超過了時間限制條件,是不可行的解;假設(shè)兩種處理單元的數(shù)量足夠多,方案2的周期時間可以滿足時間性能要求,此時系統(tǒng)開銷為110;方案3的周期時間同樣可以滿足要求,系統(tǒng)開銷則降低到100;而方案4只用了三個流水線階段,就可以達到性能要求,并且系統(tǒng)整體開銷最校由于流水線階段較少,數(shù)據(jù)緩沖的額外開銷也校由于要同時考慮緩沖放置和異構(gòu)資源分配兩個問題,異構(gòu)流水線劃分方案的搜索空間巨大,假設(shè)任務(wù)圖有100個任務(wù)節(jié)點和60條邊,任意一條邊都可以放置一個緩沖,每個任務(wù)有3個處理單元可以選擇,那么,設(shè)計空間里就有3100×260≈1065個可能的解決方案,如何在這么大的搜索空間內(nèi)快速有效地找到最優(yōu)或近似最優(yōu)的方案是我們需要面對的挑戰(zhàn)。在本文中,我們將對流水線劃分、異構(gòu)資源圖1.4不同的流水線劃分方案Fig.1.4Differentstrategiesofpipelinepar
1緒論7分配、任務(wù)調(diào)度等一系列優(yōu)化問題的本質(zhì)特性、復(fù)雜度、最優(yōu)算法和近似最優(yōu)解算法做深入的基礎(chǔ)研究和論證,建立理論框架,研發(fā)出一套高效的異構(gòu)流水線系統(tǒng)優(yōu)化技術(shù)。接下來,我們將在1.2.2小節(jié)與1.2.3小節(jié)介紹同步異構(gòu)流水線系統(tǒng)的研究現(xiàn)狀,并在1.2.4小節(jié)介紹異步異構(gòu)流水線系統(tǒng)的研究現(xiàn)狀。1.2.2神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索與FPGA硬件加速器設(shè)計的研究現(xiàn)狀分析近年來,隨著深度神經(jīng)網(wǎng)絡(luò)在各種人工智能應(yīng)用中取得長足突破,針對神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)與硬件加速器設(shè)計已然成為炙手可熱的研究話題。圖1.5分別展示了在軟件層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索(NeuralArchitectureSearch)、硬件層的基于FPGA神經(jīng)網(wǎng)絡(luò)加速器設(shè)計(FPGA-basedAccelerator)、以及軟硬件協(xié)同設(shè)計層的硬件感知神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索(Hardware-awareNAS)的發(fā)展歷程。圖中,x軸下方表示硬件層設(shè)計加速器的工作,x軸上方最上層為軟件層,包括了神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)探索的工作,中間層為軟硬件協(xié)同設(shè)計層,包括硬件感知的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)探索。從圖中可以清晰看到,硬件層的設(shè)計從2015年開始,由加州大學(xué)洛杉磯分校的JasonCong團隊在2015提出使用FPGA實現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)加速器[22]。其后,在2017年,紐約州立大學(xué)石溪分校Shen等人發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)的計算不均勻,提出將一塊FPGA被劃分成多個運算塊,并根據(jù)運算量分配硬件資源以提升資源使用率[20];每個流水線階段被映射到FPGA上的一個運算塊;多個運算塊以流水線的方式執(zhí)行,以提高神經(jīng)網(wǎng)絡(luò)在測試階段的吞吐量。2018年,Zhang等人提出了DNNBuilder,自動在FPGA上生成一個給定神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)[21]。圖1.5神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索與基于FPGA的神經(jīng)網(wǎng)絡(luò)加速器發(fā)展Fig.1.5DevelopmentofNeuralArchitectureSeachandFPGAacceleratordesigns
本文編號:3306001
本文鏈接:http://sikaile.net/shoufeilunwen/xxkjbs/3306001.html
最近更新
教材專著