基于Zynq開發(fā)平臺構(gòu)建LS-SVM模型的加速計算片上系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種構(gòu)建LS-SVM模型的加速計算片上系統(tǒng)。
【背景技術(shù)】
[0002] 復(fù)雜系統(tǒng)的故障預(yù)測和健康管理獲得越來越多地重視,并廣泛應(yīng)用于電子、汽車、 航空航天、通信系統(tǒng)及圖像處理等領(lǐng)域。大量系統(tǒng)健康管理的研宄工作證明,系統(tǒng)的狀態(tài)數(shù) 據(jù)絕大多數(shù)是典型的時間序列,而機器學(xué)習(xí)算法是時間序列研宄過程中應(yīng)用的主要方法, LS-SVM作為機器學(xué)習(xí)的一種,廣泛應(yīng)用于航空航天器系統(tǒng)的健康管理。
[0003] 針對無人飛行器這種特殊的航天器系統(tǒng),因受飛行條件、飛行空間的約束,不得不 選取低功耗、體積小、重量輕的健康管理平臺,嵌入式平臺憑借自身的優(yōu)勢可以滿足應(yīng)用的 需求。隨著片上系統(tǒng)SoC(System-on-a-chip)的發(fā)展,逐漸發(fā)展為異構(gòu)多核處理器系統(tǒng) HMPSoC(Heterogeneous Multi-core Processor SoC),應(yīng)用這種系統(tǒng)結(jié)構(gòu)完成嵌入式 SoC 上的高性能計算,不僅可以解決單片F(xiàn)PGA面對高計算復(fù)雜度算法存在的計算任務(wù)調(diào)度問 題,同時,可以充分發(fā)揮通用處理器編程簡單、設(shè)計靈活的優(yōu)勢。Zynq開發(fā)平臺是Xilinx公 司推出的異構(gòu)SoC平臺,它為嵌入式高性能計算研宄提供了軟硬件協(xié)同設(shè)計的平臺。
[0004] 目前,系統(tǒng)健康管理方面的研宄較多的局限于算法的軟件實現(xiàn)和仿真,算法較慢 的訓(xùn)練速度限制了其在實際中的應(yīng)用,因此必須開展算法的硬件加速計算研宄。
[0005] 目前在異構(gòu)SoC Zynq開發(fā)平臺上實現(xiàn)硬件加速的設(shè)計較少,并且沒有一種有效的 基于Zynq開發(fā)平臺構(gòu)建LS-SVM模型的加速計算片上系統(tǒng)。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明為了解決目前還沒有一種有效的基于Zynq開發(fā)平臺構(gòu)建LS-SVM模型的加 速計算片上系統(tǒng)的問題。
[0007] 基于Zynq開發(fā)平臺構(gòu)建LS-SVM模型的加速計算片上系統(tǒng),主要包括下述模塊:
[0008] DDR外部存儲模塊,用于存儲LS-SVM模型處理的原始數(shù)據(jù)、中間數(shù)據(jù)及最后結(jié)果;
[0009] 處理器系統(tǒng)Processing System模塊,簡稱PS模塊,用于對原始數(shù)據(jù)的預(yù)處理及 實現(xiàn)LS-SVM模型中的核函數(shù)計算過程,形成核函數(shù)矩陣,并將正定對稱的核函數(shù)矩陣進行 存儲;
[0010] 可編程邏輯Programmable Logic模塊,簡稱PL模塊,用于LS-SVM模型中線性方 程組的求解,負責(zé)從DDR外部存儲模塊讀取正定對稱矩陣的值,進行矩陣分解并實現(xiàn)求逆 過程,最終將喬里斯基分解得到的下三角陣存儲在DDR外部存儲模塊中,并根據(jù)分解得到 的下三角陣求出LS-SVM模型系數(shù);
[0011] AXI總線模塊,用于PS模塊與PL模塊之間的信息傳輸。
[0012] 本發(fā)明充分發(fā)揮Zynq開發(fā)平臺異構(gòu)的優(yōu)勢,展開對LS-SVM加速計算方法,采用 軟硬件協(xié)同設(shè)計技術(shù),主要解決了異構(gòu)SoC平臺上的計算任務(wù)劃分問題,同時,設(shè)計了基于 Zynq SoC的片上系統(tǒng)結(jié)構(gòu)以及線性方程組求解的數(shù)據(jù)通路,將任務(wù)調(diào)度、核函數(shù)計算和模 型預(yù)測由處理器系統(tǒng)ProcessingSystem模塊實現(xiàn);將數(shù)據(jù)預(yù)處理和線性方程組的求解由 可編程邏輯ProgrammableLogic模塊實現(xiàn),主要在于可編程邏輯ProgrammableLogic模 塊可以進行大量的并行操作;最終,基于高層次綜合HLS開發(fā)方式實現(xiàn)LS-SVM模型的加速 計算。
[0013] 本發(fā)明的設(shè)計同時使用ARM處理器和可編程邏輯,充分發(fā)揮軟硬件各自的優(yōu)勢, 從而提高計算效率;同時,計算過程中的線性方程組的求解采用Submatrix-Cholesky分解 方式,實現(xiàn)數(shù)據(jù)的規(guī)律訪存,并且數(shù)據(jù)傳輸過程采用DMA的傳輸方式,大大提高了數(shù)據(jù)的傳 輸速度,從而使計算效率進一步提高,達到加速計算的目的。
[0014] 本發(fā)明除完成異構(gòu)SoC平臺上的加速計算設(shè)計外,通過合理的軟硬件劃分,并根 據(jù)Submatrix-Cholesky分解方法設(shè)計了合理的數(shù)據(jù)通路,探索了一種在異構(gòu)SoC架構(gòu)下的 軟硬件協(xié)同設(shè)計方法,為其他異構(gòu)平臺下的開發(fā)設(shè)計提供參考和借鑒。
【附圖說明】
[0015] 圖1為本發(fā)明原理示意圖。
【具體實施方式】
【具體實施方式】 [0016] 一:結(jié)合圖1說明本實施方式,基于Zynq開發(fā)平臺構(gòu)建LS-SVM模型 的加速計算片上系統(tǒng),主要包括下述模塊:
[0017] DDR外部存儲模塊,用于存儲LS-SVM模型處理的原始數(shù)據(jù)、中間數(shù)據(jù)及最后結(jié)果;
[0018] 處理器系統(tǒng)ProcessingSystem模塊,簡稱PS模塊,用于對原始數(shù)據(jù)的預(yù)處理及 實現(xiàn)LS-SVM模型中的核函數(shù)計算過程,形成核函數(shù)矩陣,并將正定對稱的核函數(shù)矩陣進行 存儲;
[0019] 可編程邏輯ProgrammableLogic模塊,簡稱PL模塊,用于LS-SVM模型中線性方 程組的求解,負責(zé)從DDR外部存儲模塊讀取正定對稱矩陣的值,進行矩陣分解并實現(xiàn)求逆 過程,最終將喬里斯基分解得到的下三角陣存儲在DDR外部存儲模塊中,并根據(jù)分解得到 的下三角陣求出LS-SVM模型系數(shù);
[0020] AXI總線模塊,用于PS模塊與PL模塊之間的信息傳輸。
【具體實施方式】 [0021] 二:本實施方式所述的PS模塊包括:
[0022] ARM處理器子模塊,用于對LS-SVM模型的原始數(shù)據(jù)進行處理,同時,負責(zé)整個計算 過程的任務(wù)調(diào)度;
[0023] Cache緩存子模塊,用于緩存ARM處理器子模塊處理的數(shù)據(jù)和提取的DDR外部存儲 模塊中的數(shù)據(jù);
[0024] DDR控制器子模塊,用于控制對DDR外部存儲模塊中數(shù)據(jù)的讀寫;
[0025] MemoryInterconnect子模塊,用于PS模塊內(nèi)部存儲之間的互聯(lián);
[0026] CentralInterconnect子模塊,用于PS模塊內(nèi)部結(jié)構(gòu)的互聯(lián);
[0027] 1/0子模塊;用于連接外部的串口及SD卡及調(diào)試。
[0028] 其它步驟與【具體實施方式】一相同。
【具體實施方式】 [0029] 三:本實施方式所述的PL模塊包括:
[0030] 加速計算子模塊,用于實現(xiàn)線性方程組在可編程邏輯部分的加速求解;
[0031] AXI_DMA子模塊,用于實現(xiàn)PS與PL之間的快速數(shù)據(jù)傳輸,采用DMA傳輸方式,可以 加快傳輸速度;
[0032] RAM/FIF0子模塊,用于可編程邏輯PL內(nèi)部的數(shù)據(jù)存儲或緩存。
[0033] 其它步驟與【具體實施方式】一或二相同。
【具體實施方式】 [0034] 四:本實施方式所述的AXI總線模塊包括:
[0035] AXI GP子模塊,用于PS向PL傳輸控制信息,通過AXI-Lite總線實現(xiàn);
[0036] AXI HP子模塊,用于PS與PL之間進行高速數(shù)據(jù)傳輸,通過AXI-Stream總線實現(xiàn)。
[0037] 整個計算過程,通過AXI GP子模塊獲得處理器系統(tǒng)子模塊的控制命令,完成對整 個計算任務(wù)調(diào)度;同時,通過AXI HP子模塊獲取DDR外部存儲模塊中的下三角矩陣,通過 AXI_DMA子模塊實現(xiàn)PS模塊與PL模塊之間的快速數(shù)據(jù)傳輸。
[0038] 其它步驟與【具體實施方式】一至三之一相同。
[0039] 【具體實施方式】五:本實施方式所述的ARM處理器子模塊通過核函數(shù)
【主權(quán)項】
1. 基于巧nq開發(fā)平臺構(gòu)建LS-SVM模型的加速計算片上系統(tǒng),其特征在于主要包括下 述模塊: DDR外部存儲模塊,用于存儲LS-SVM模型處理的原始數(shù)據(jù)、中間數(shù)據(jù)及最后結(jié)果; 處理器系統(tǒng)ProcessingSystem模塊,簡稱PS模塊,用于對原始數(shù)據(jù)的預(yù)處理及實 現(xiàn)LS-SVM模型中的核函數(shù)計算過程,形成核函數(shù)矩陣,并將正定對稱的核函數(shù)矩陣進行存 儲; 可編程邏輯Programm油leLogic模塊,簡稱化模塊,用于LS-SVM模型中線性方程組 的求解,負責(zé)從DDR外部存儲模塊讀取正定對稱矩陣的值,進行矩陣分解并實現(xiàn)求逆過程, 最終將喬里斯基分解得到的下S角陣存儲在DDR外部存儲模塊中,并根據(jù)分解得到的下S 角陣求出LS-SVM模型系數(shù); AXI總線模塊,用于PS模塊與化模塊之間的信息傳輸。
2. 根據(jù)權(quán)利要求1所述的基于巧nq開發(fā)平臺構(gòu)建LS-SVM模型的加速計算片上系統(tǒng), 其特征在于: 所述的PS模塊包括: ARM處理器子模塊,用于對LS-SVM模型的原始數(shù)據(jù)進行處理,同時,負責(zé)整個計算過程 的任務(wù)調(diào)度; Cache緩存子模塊,用于緩存ARM處理器子模塊處理的數(shù)據(jù)和提取的DDR外部存儲模塊 中的數(shù)據(jù); 孤R控制器子模塊,用于控制對DDR外部存儲模塊中數(shù)據(jù)的讀寫; MemcxryInterconnect子模塊,用于PS模塊內(nèi)部存儲之間的互聯(lián); CentralInterconnect子模塊,用于PS模塊內(nèi)部結(jié)構(gòu)的互聯(lián); I/O子模塊;用于連接外部的串口及SD卡及調(diào)試。
3. 根據(jù)權(quán)利要求1或2所述的基于巧nq開發(fā)平臺構(gòu)建LS-SVM模型的加速計算片上系 統(tǒng),其特征在于: 所述的化模塊包括: 加速計算子模塊,用于實現(xiàn)線性方程組在可編程邏輯部分的加速求解; AXI_DMA子模塊,用于實現(xiàn)PS與化之間的快速數(shù)據(jù)傳輸,采用DMA傳輸方式,可W加快 傳輸速度; RAM/FIF0子模塊,用于可編程邏輯化內(nèi)部的數(shù)據(jù)存儲或緩存。
4. 根據(jù)權(quán)利要求3所述的基于巧nq開發(fā)平臺構(gòu)建LS-SVM模型的加速計算片上系統(tǒng), 其特征在于: 所述的AXI總線模塊包括: AXIGP子模塊,用于PS向化傳輸控制信息,通過AXI-Lite總線實現(xiàn); AXIHP子模塊,用于PS與化之間進行高速數(shù)據(jù)傳輸,通過AXI-Stream總線實現(xiàn)。
5. 根據(jù)權(quán)利要求2所述的基于巧nq開發(fā)平臺構(gòu)建LS-SVM模型的加速計算片上系統(tǒng), 其特征在于: ARM處理器子模塊通過核函數(shù)D=A'(..v,.v.') =cxp{-|x-.v|/片對LS-SVM模型的原始數(shù) 據(jù)進行計算;其中,0為超參數(shù),X和y是樣本數(shù)據(jù),均為1維的列向量;II ? II為二范數(shù)計
6.根據(jù)權(quán)利要求3所述的基于巧nq開發(fā)平臺構(gòu)建LS-SVM模型的加速計算片上系統(tǒng), 其特征在于化模塊求出LS-SVM模型系數(shù)是通過W下方法實現(xiàn)的: 算。 采用基于塊的喬里斯基分解方法,實現(xiàn)矩陣A的分解;并通過:
十算出n和V; 其中,A為核函數(shù)矩陣,Y為訓(xùn)練樣本的輸出值,n和V為中間變量; 然后,將I
ilj用n和V求解得到a和 b,從而完成LS-SVM模型
的建模過程;其中xi為訓(xùn)練樣本,i為樣本 中每個樣本值的下標;X為預(yù)測輸入,y為訓(xùn)練樣本的輸出。
【專利摘要】基于Zynq開發(fā)平臺構(gòu)建LS-SVM模型的加速計算片上系統(tǒng),涉及一種構(gòu)建LS-SVM模型的加速計算片上系統(tǒng)。本發(fā)明為了解決目前還沒有一種有效的基于Zynq開發(fā)平臺構(gòu)建的LS-SVM模型加速計算的片上系統(tǒng)的問題。本發(fā)明包括DDR外部存儲模塊、處理器系統(tǒng)Processing System模塊、可編程邏輯Programmable Logic模塊和AXI總線模塊;處理器系統(tǒng)Processing System模塊實現(xiàn)任務(wù)調(diào)度、核函數(shù)的計算和模型預(yù)測,可編程邏輯Programmable Logic模塊實現(xiàn)數(shù)據(jù)預(yù)處理和線性方程組的求解操作;最終,基于高層次綜合HLS開發(fā)方式實現(xiàn)LS-SVM模型的加速計算。本發(fā)明適用于基于異構(gòu)SoC平臺構(gòu)建LS-SVM模型的加速計算。
【IPC分類】G06F15-76
【公開號】CN104850529
【申請?zhí)枴緾N201510245952
【發(fā)明人】王少軍, 王曉璐, 馬寧, 劉大同, 彭宇, 彭喜元
【申請人】哈爾濱工業(yè)大學(xué)
【公開日】2015年8月19日
【申請日】2015年5月14日